
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "STB": Some values do not have unique names */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool do_relax(Target_powerpc<64,_false> * this, int pass, Input_objects
   * param_2, Symbol_table * symtab, Layout * layout, Task * task) */

bool __thiscall
anon_unknown.dwarf_2af53c::Target_powerpc<64,_false>::do_relax
          (Target_powerpc<64,_false> *this,int pass,Input_objects *param_2,Symbol_table *symtab,
          Layout *layout,Task *task)

{
  Input_file **ppIVar1;
  uint64_t *puVar2;
  string *psVar3;
  byte *pbVar4;
  Parameters **ppPVar5;
  vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> *pvVar6;
  size_type *psVar7;
  char cVar8;
  Xindex *pXVar9;
  Output_data_save_res<64,_false> *pOVar10;
  _func_int_varargs **pp_Var11;
  code *pcVar12;
  Stub_table<64,_false> *pSVar13;
  float fVar14;
  __bucket_type p_Var15;
  Compute_final_value_status CVar16;
  Timer *pTVar17;
  uint *puVar18;
  pointer ppOVar19;
  vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *pvVar20;
  Errors *pEVar21;
  pointer puVar22;
  General_options *pGVar23;
  pointer pOVar24;
  _func_int_varargs *p_Var25;
  _Hash_node_base *p_Var26;
  pointer pSVar27;
  Output_data_glink<64,_false> *pOVar28;
  Target *pTVar29;
  longlong lVar30;
  Address AVar31;
  Sized_relobj<64,_false> *pSVar32;
  __node_base _Var33;
  Address AVar34;
  uint *puVar35;
  undefined1 uVar36;
  uint uVar37;
  pointer puVar38;
  pointer ppSVar39;
  Powerpc_relobj<64,_false> *pPVar40;
  undefined3 extraout_var;
  char *format;
  __node_base *p_Var41;
  Symbol *pSVar42;
  Target_powerpc<64,_false> *pTVar43;
  Compute_final_local_value_status CVar44;
  Output_section *pOVar45;
  pointer pOVar46;
  int iVar47;
  Relobj *pRVar48;
  Parameters *pPVar49;
  void *pvVar50;
  General_options *pGVar51;
  _Hash_node_base *p_Var52;
  undefined4 uVar53;
  Symbol *pSVar54;
  undefined4 *puVar55;
  undefined4 *puVar56;
  size_t sVar57;
  char *pcVar58;
  int iVar59;
  uint uVar60;
  uchar *puVar61;
  _Hash_node_base *p_Var62;
  pointer pcVar63;
  Powerpc_relobj<64,_false> *pPVar64;
  undefined1 *puVar65;
  __node_gen_type *p_Var66;
  __node_gen_type *p_Var67;
  _Hash_node_base *p_Var68;
  __bucket_type *pp_Var69;
  byte bVar70;
  pointer puVar71;
  pointer ppSVar72;
  size_type sVar73;
  pointer puVar74;
  uint uVar75;
  int iVar76;
  undefined **unaff_EBX;
  pointer puVar77;
  uint uVar78;
  uint uVar79;
  Output_data_plt_powerpc<64,_false> *pOVar80;
  size_t *psVar81;
  size_t *psVar82;
  size_t *psVar83;
  uint uVar84;
  int *piVar85;
  _Hash_node_base *p_Var86;
  Output_data_brlt_powerpc<64,_false> *pOVar87;
  Target *pTVar88;
  _Hash_node_base *p_Var89;
  Compute_final_value_status *pCVar90;
  Compute_final_value_status *pCVar91;
  bool bVar92;
  Value_type VVar93;
  Address AVar94;
  Value VVar95;
  undefined8 uVar96;
  off_t oVar97;
  longlong lVar98;
  uchar auStack_18c [48];
  Target_powerpc<64,_false> *in_stack_fffffeb4;
  Layout *in_stack_fffffeb8;
  Task *in_stack_fffffebc;
  undefined4 in_stack_fffffec0;
  uint local_130;
  size_type *local_12c;
  bool local_121;
  size_type local_120;
  Powerpc_relobj<64,_false> *local_110;
  Output_sections *local_10c;
  Powerpc_relobj<64,_false> *local_108;
  pointer local_104;
  bool local_fc;
  _Hash_node_base *local_f4;
  uint local_e4;
  uint local_dc;
  pointer local_cc;
  uint local_c8;
  uint local_c4;
  uint local_c0;
  Compute_final_value_status *local_bc;
  int local_b8;
  Powerpc_relobj<64,_false> *local_b4;
  int local_b0;
  undefined **local_ac;
  pointer local_a8;
  undefined1 local_a4 [8];
  undefined1 local_9c [8];
  char local_94 [4];
  uint *local_90;
  Powerpc_relobj<64,_false> *local_8c;
  char local_88;
  undefined1 local_84 [4];
  char local_80;
  char localname [9];
  __node_gen_type __node_gen;
  Output_sections os_need_update;
  Compute_final_value_status status;
  Powerpc_relobj<64,_false> *local_3c;
  int local_38;
  Powerpc_relobj<64,_false> *local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  _Hash_node_base *local_24;
  _Hash_node_base *local_20;
  
  uVar36 = (undefined1)in_stack_fffffec0;
  psVar82 = (size_t *)&stack0xfffffeb4;
  if (pass == 1) {
    pGVar51 = gold::parameters->options_;
    if ((this->field_0x8 & 2) == 0) {
      if (pGVar51 == (General_options *)0x0) goto LAB_0008c0b4;
      bVar92 = (pGVar51->plt_thread_safe_).value;
      if (((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&
         (bVar92 = (pGVar51->shared_).value, bVar92 == false)) {
        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1
                            ::thread_starter;
        pcVar58 = "pthread_create";
        while( true ) {
          local_a8 = (pointer)((int)local_a8 + 4);
          local_ac = &_GLOBAL_OFFSET_TABLE_;
          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);
          uVar36 = (undefined1)in_stack_fffffec0;
          unaff_EBX = local_ac;
          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&
             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),
             (bVar70 & 1) != 0)) {
            pGVar51 = gold::parameters->options_;
            goto LAB_0008b0b0;
          }
          if (local_a8 == (pointer)&gold::Archive::vtable) break;
          pcVar58 = *(char **)local_a8;
        }
        pGVar51 = gold::parameters->options_;
        bVar92 = false;
        goto LAB_0008b0b0;
      }
      iVar59 = (pGVar51->stub_group_size_).value;
      this->plt_thread_safe_ = bVar92;
      if (iVar59 != 1) goto LAB_0008b0d5;
LAB_0008bbcb:
      this->stub_group_size_ = 0x1c00000;
    }
    else {
      bVar92 = false;
LAB_0008b0b0:
      this->plt_thread_safe_ = bVar92;
      psVar82 = (size_t *)&stack0xfffffeb4;
      if (pGVar51 == (General_options *)0x0) {
LAB_0008c0b4:
        *(char **)((int)psVar82 + -8) = "options";
        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;
        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;
        gold::do_gold_unreachable
                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),
                   *(char **)((int)psVar82 + -8));
      }
      iVar59 = (pGVar51->stub_group_size_).value;
      if (iVar59 == 1) goto LAB_0008bbcb;
LAB_0008b0d5:
      if (iVar59 == -1) {
        this->stub_group_size_ = -0x1e00000;
      }
      else {
        this->stub_group_size_ = iVar59;
      }
    }
    group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);
    local_cc = (this->stub_tables_).
               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
               ._M_impl._M_start;
    if ((this->stub_tables_).
        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
        ._M_impl._M_finish != local_cc) goto LAB_00088eb5;
    local_120 = 0;
LAB_0008b10a:
    local_110 = (Powerpc_relobj<64,_false> *)0x0;
    iVar59 = 0;
    this->relax_failed_ = false;
  }
  else {
    if ((this->relax_failed_ != false) && (this->relax_fail_count_ < 3)) {
      std::
      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
               *)&this->branch_lookup_table_);
      uVar36 = (undefined1)in_stack_fffffec0;
      ppSVar39 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
      if (ppSVar39 !=
          (this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish) {
        do {
          pSVar13 = *ppSVar39;
          ppSVar39 = ppSVar39 + 1;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   *)in_stack_fffffeb4);
          pSVar13->plt_size_ = 0;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   *)in_stack_fffffeb4);
          uVar36 = (undefined1)in_stack_fffffec0;
          pSVar13->branch_size_ = 0;
          pSVar13->need_save_res_ = false;
          pSVar13->last_plt_size_ = 0;
          pSVar13->last_branch_size_ = 0;
        } while ((this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_finish != ppSVar39);
        ppSVar72 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_start;
        if (ppSVar39 != ppSVar72) {
          (this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish = ppSVar72;
        }
      }
      local_ac = &_GLOBAL_OFFSET_TABLE_;
      iVar59 = this->stub_group_size_;
      iVar47 = iVar59 + 3;
      if (-1 < iVar59) {
        iVar47 = iVar59;
      }
      iVar59 = (iVar47 >> 2) * 3;
      this->stub_group_size_ = iVar59;
      pcVar58 = gold::program_name;
      format = (char *)gettext("%s: stub group size is too large; retrying with %#x");
      gold::gold_info(format,pcVar58,iVar59);
      group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);
      unaff_EBX = local_ac;
    }
    local_cc = (this->stub_tables_).
               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
               ._M_impl._M_start;
    if ((this->stub_tables_).
        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
        ._M_impl._M_finish == local_cc) {
LAB_00089837:
      local_120 = (this->branch_lookup_table_)._M_h._M_element_count;
      std::
      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
               *)&this->branch_lookup_table_);
      ppSVar72 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
      if (ppSVar72 ==
          (this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish) goto LAB_0008b10a;
      do {
        unaff_EBX = (undefined **)*ppSVar72;
        ppSVar72 = ppSVar72 + 1;
        std::
        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
        ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                 *)in_stack_fffffeb4);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count = 0;
        std::
        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
        ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                 *)in_stack_fffffeb4);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize = 0;
        *(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_end_of_storage = false;
        ppSVar39 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_finish;
      } while (ppSVar39 != ppSVar72);
      ppSVar72 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
    }
    else {
LAB_00088eb5:
      psVar83 = (size_t *)&stack0xfffffeb4;
      puVar56 = (undefined4 *)&stack0xfffffeb4;
      psVar82 = (size_t *)&stack0xfffffeb4;
      unaff_EBX = (undefined **)*local_cc;
      iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.field_0x2c;
      pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
               super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;
      iVar47 = *(int *)(iVar59 + 0x84);
      psVar81 = (size_t *)&stack0xfffffeb4;
      if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) {
LAB_0008bf9d:
        *(char **)((int)psVar81 + -8) = "get_output_section_offset";
        *(undefined4 *)((int)psVar81 + -0xc) = 0x7f7;
        *(char **)((int)psVar81 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)psVar81 + -0x14) = 0x8bfbe;
        gold::do_gold_unreachable
                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),
                   *(char **)((int)psVar81 + -8));
      }
      uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);
      uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);
      uVar37 = uVar84 & uVar60;
      while( true ) {
        if (uVar37 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax");
        }
        local_cc = local_cc + 1;
        local_b8 = 0;
        iVar59 = (int)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_;
        p_Var89 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_before_begin._M_nxt;
        local_c4 = (int)&p_Var89->_M_nxt + uVar60;
        local_c0 = uVar84 + CARRY4((uint)p_Var89,uVar60);
        local_bc = (Compute_final_value_status *)
                   ((((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.
                    _M_next_resize +
                   (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count);
        if (*(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.section_offsets_.
                      super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                      ._M_impl._M_end_of_storage != false) {
          pOVar10 = ((Target_powerpc<64,_false> *)
                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->
                    savres_section_;
          if ((pOVar10->field_0x1c & 2) == 0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
          }
          bVar92 = CARRY4((uint)local_bc,*(uint *)&pOVar10->field_0xc);
          local_bc = (Compute_final_value_status *)((int)local_bc + *(uint *)&pOVar10->field_0xc);
          local_b8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;
        }
        if (local_b8 != 0 || local_bc != (Compute_final_value_status *)0x0) {
          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;
          uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
          if (uVar37 < 0x20) {
            uVar37 = 0x20;
          }
          bVar92 = CARRY4(uVar37 - 1,local_c4);
          local_c4 = (uVar37 - 1) + local_c4 & -uVar37;
          local_c0 = ((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0);
        }
        puVar77 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_start;
        puVar74 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_finish;
        puVar38 = (pointer)(((int)local_bc - uVar60) + local_c4);
        puVar71 = (pointer)(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +
                           (uint)CARRY4((int)local_bc - uVar60,local_c4));
        if (puVar74 < puVar71 || (uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38)) {
          puVar77 = puVar38;
          puVar74 = puVar71;
        }
        bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                           super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                           super_Relobj.super_Object.input_file_;
        *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
             bVar70 & 0xfa;
        if ((bVar70 & 8) == 0) {
          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
               bVar70 & 0xf8;
        }
        else if ((bVar70 & 2) != 0) goto LAB_0008b9d8;
        bVar70 = *(byte *)(iVar59 + 0x1c);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity
             = (size_type)puVar77;
        *(pointer *)
         ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = puVar74
        ;
        if ((bVar70 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
        }
        uVar37 = *(uint *)(iVar59 + 0x14);
        iVar47 = *(int *)(iVar59 + 0x18);
        psVar81 = (size_t *)&stack0xfffffeb4;
        if ((bVar70 & 1) == 0) goto LAB_0008bf5b;
        uVar75 = *(uint *)(iVar59 + 4);
        uVar78 = *(uint *)(iVar59 + 4);
        iVar76 = *(int *)(iVar59 + 8);
        *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.name_.field_2 + 8) =
             uVar60 + *(uint *)(iVar59 + 0x14);
        pPVar49 = (Parameters *)
                  (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =
             (pointer)(uVar60 + uVar78);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =
             uVar84 + iVar76 + (uint)CARRY4(uVar60,uVar75);
        *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.name_.field_2 + 0xc) =
             uVar84 + iVar47 + (uint)CARRY4(uVar60,uVar37);
        ppIVar1 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;
        *(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;
        (*(code *)pPVar49[1].incremental_mode_)(unaff_EBX);
        if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)
        goto LAB_0008c197;
        ppSVar39 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_finish;
        if (ppSVar39 == local_cc) break;
        unaff_EBX = (undefined **)*local_cc;
        iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object.field_0x2c;
        pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;
        iVar47 = *(int *)(iVar59 + 0x84);
        psVar81 = (size_t *)&stack0xfffffeb4;
        if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) goto LAB_0008bf9d;
        uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);
        uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);
        uVar37 = uVar84 & uVar60;
      }
      if (pass != 1) goto LAB_00089837;
      local_120 = 0;
      ppSVar72 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
    }
    local_110 = (Powerpc_relobj<64,_false> *)0x0;
    iVar59 = (int)ppSVar39 - (int)ppSVar72;
    this->relax_failed_ = false;
    if (ppSVar72 != ppSVar39) {
      local_110 = (Powerpc_relobj<64,_false> *)*ppSVar72;
    }
  }
  local_ac = &_GLOBAL_OFFSET_TABLE_;
  psVar82 = (size_t *)&stack0xfffffeb4;
  psVar81 = (size_t *)&stack0xfffffeb4;
  pPVar40 = (Powerpc_relobj<64,_false> *)0x0;
  if (iVar59 == 4) {
    pPVar40 = local_110;
  }
  local_a8 = (this->branch_info_).
             super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>
             ._M_impl._M_start;
  if ((this->branch_info_).
      super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>
      ._M_impl._M_finish != local_a8) {
    do {
      pPVar64 = local_a8->object_;
      uVar60 = local_a8->r_sym_;
      uVar84 = (pPVar64->super_Sized_relobj_file<64,_false>).local_symbol_count_;
      psVar82 = psVar81;
      local_b4 = pPVar40;
      if (uVar60 < uVar84) {
        pTVar88 = gold::parameters->target_;
        if (pTVar88 == (Target *)0x0) goto LAB_0008c096;
LAB_000899b9:
        pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;
        if ((pTVar88[8].osabi_ == ELFOSABI_NONE) && (pSVar54 != (Symbol *)0x0)) goto LAB_00089257;
LAB_000899d1:
        pSVar54 = (Symbol *)0x0;
        psVar81[-3] = uVar60;
        psVar81[-4] = (size_t)pPVar64;
        psVar81[-5] = 0x899e3;
        bVar92 = gold::Sized_relobj_file<64,_false>::local_has_plt_offset
                           ((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3]);
        unaff_EBX = local_ac;
        if (bVar92) goto LAB_00089ed0;
LAB_000899ee:
        uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
        if (uVar84 - 0xb < 3) {
          local_f4 = (_Hash_node_base *)0x8000;
        }
        else {
          if (((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)) goto LAB_00089370;
          local_f4 = (_Hash_node_base *)0x2000000;
        }
        pPVar64 = local_a8->object_;
        uVar84 = local_a8->shndx_;
        puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_start;
        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        section_offsets_.
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84) goto LAB_0008bf9d;
        uVar60 = *(uint *)((int)puVar77 + uVar84 * 8 + 4);
        uVar37 = (uint)puVar77[uVar84];
        if ((uVar60 & uVar37) == 0xffffffff) {
          psVar81[-2] = (size_t)"make_stub";
          psVar81[-3] = 0xd3b;
          psVar81[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
          psVar81[-5] = 0x8c39c;
          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
        }
        p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  super_Relobj.super_Object._vptr_Object[0x18];
        if (p_Var25 == gold::Relobj::do_output_section) {
          unaff_EBX = (undefined **)
                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.output_sections_.
                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                      ._M_impl._M_start;
          if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.
                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84) {
LAB_0008c314:
            psVar81[-2] = (size_t)"do_output_section";
            psVar81[-3] = 0x5c8;
            psVar81[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
            psVar81[-5] = 0x8c335;
            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
          }
          pPVar49 = (Parameters *)
                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]
          ;
        }
        else {
          psVar81[-3] = uVar84;
          psVar81[-4] = (size_t)pPVar64;
          psVar81[-5] = 0x8adac;
          pPVar49 = (Parameters *)(*p_Var25)();
          unaff_EBX = (undefined **)gold::Relobj::do_output_section;
        }
        if (((uint)pPVar49->set_parameters_target_once_ & 1) == 0) goto LAB_0008bf5b;
        pGVar51 = pPVar49->options_;
        pTVar17 = pPVar49->timer_;
        iVar59 = *(int *)((int)&local_a8->offset_ + 4);
        uVar84 = (uint)local_a8->offset_;
        if (pSVar54 == (Symbol *)0x0) {
          pPVar64 = local_a8->object_;
          uVar75 = local_a8->r_sym_;
          pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                    ._M_impl._M_start;
          if ((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar75) {
            psVar81[-1] = (size_t)pSVar27;
            psVar81[-2] = (size_t)"local_symbol";
            psVar81[-3] = 0x8c1;
            psVar81[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
            psVar81[-5] = 0x8c2b0;
            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
          }
          status = CFVS_OK;
          local_3c = (Powerpc_relobj<64,_false> *)0xffffffff;
          local_38 = -0x80000000;
          local_34 = (Powerpc_relobj<64,_false> *)0x0;
          local_30 = 0;
          if ((pSVar27[uVar75].field_0xb & 0x10) != 0) {
            local_38 = -0x70000000;
          }
          psVar81[-4] = (size_t)symtab;
          psVar81[-5] = (size_t)&status;
          psVar81[-6] = (size_t)(pSVar27 + uVar75);
          psVar81[-7] = uVar75;
          psVar81[-8] = (size_t)pPVar64;
          unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */
          psVar81[-9] = 0x8a65b;
          CVar44 = gold::Sized_relobj_file<64,_false>::compute_final_local_value
                             ((Sized_relobj_file<64,_false> *)psVar81[-8],psVar81[-7],
                              (Symbol_value<64> *)psVar81[-6],(Symbol_value<64> *)psVar81[-5],
                              (Symbol_table *)psVar81[-4]);
          if ((CVar44 != CFLV_OK) || (-1 < local_38)) {
            psVar81[-4] = (size_t)&status;
            psVar81[-5] = 0x8aebf;
            gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);
            goto LAB_00089370;
          }
          psVar81[-1] = 0;
          psVar81[-2] = 0;
          psVar81[-3] = (size_t)local_a8->object_;
          psVar81[-4] = (size_t)&status;
          psVar81[-5] = 0x8a687;
          VVar95 = gold::Symbol_value<64>::value<false>
                             ((Symbol_value<64> *)psVar81[-4],
                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));
          bVar70 = (local_a8->object_->st_other_).
                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.
                   _M_start[local_a8->r_sym_];
          psVar81[-4] = (size_t)&status;
          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);
          psVar81[-5] = 0x8a6cf;
          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);
LAB_00089b5e:
          local_bc = &status;
          unaff_EBX = (undefined **)0x0;
          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);
          local_108 = (Powerpc_relobj<64,_false> *)
                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +
                       *(int *)((int)&local_a8->addend_ + 4) +
                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));
          os_need_update._M_h._M_bucket_count = (size_type)local_108;
          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;
          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {
            puVar22 = (local_a8->object_->stub_table_index_).
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start;
            if (local_a8->shndx_ <
                (uint)((int)(local_a8->object_->stub_table_index_).
                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                            _M_finish - (int)puVar22 >> 2)) {
              pTVar29 = gold::parameters->target_;
              if (pTVar29 == (Target *)0x0) {
LAB_0008c3f9:
                    /* WARNING: Subroutine does not return */
                psVar81[-1] = (size_t)&LAB_0008c3fe;
                Powerpc_relobj<64,_false>::set_abiversion
                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);
              }
              uVar75 = puVar22[local_a8->shndx_];
              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {
                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);
              }
            }
          }
          if ((pTVar88->processor_specific_flags_ & 2) == 0) {
            psVar81[-2] = (size_t)local_bc;
            psVar81[-3] = (size_t)&os_need_update;
            psVar81[-4] = (size_t)local_a8->object_;
            psVar81[-5] = 0x8b155;
            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],
                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],
                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,
                                       (uint *)psVar81[1]);
            if (!bVar92) goto LAB_00089370;
            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;
            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;
          }
          uVar75 = uVar84 + uVar37;
          p_Var89 = (_Hash_node_base *)
                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);
          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.
                         _vptr_Struct_var +
                   (uint)CARRY4(uVar75,(uint)pTVar17) +
                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);
          unaff_EBX = (undefined **)0x0;
          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <
                    (uint)((int)local_f4 * 2)) <=
              (int)local_108 +
              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +
              (-(uint)(local_f4 < p_Var89) - uVar84)) {
            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {
              pPVar64 = local_a8->object_;
              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object._vptr_Object[0x10];
              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {
                psVar81[-2] = local_a8->shndx_;
                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;
                psVar81[-4] = (size_t)local_bc;
                psVar81[-5] = 0x8bd71;
                elfcpp::Elf_file<64,_false,_gold::Object>::section_name
                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);
              }
              else {
                psVar81[-2] = local_a8->shndx_;
                psVar81[-3] = (size_t)pPVar64;
                psVar81[-4] = (size_t)local_bc;
                psVar81[-5] = 0x8bf53;
                (*p_Var25)();
              }
              CVar16 = status;
              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).
                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.
                        _M_p;
              psVar81[-5] = (size_t)
                            "%s:%s: branch in non-executable section, no long branch stub for you";
              psVar81[-6] = 0x8bd99;
              uVar53 = gettext();
              psVar81[-3] = CVar16;
              psVar81[-4] = (size_t)pcVar63;
              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
              psVar81[-5] = uVar53;
                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */
              psVar81[-6] = 0x8bdac;
              gold::gold_warning((char *)psVar81[-5]);
              psVar82 = psVar81 + -1;
              if ((int *)status != &local_38) {
                psVar81[-5] = status;
                psVar81[-6] = 0x8bdc6;
                operator_delete((void *)psVar81[-5]);
                psVar82 = psVar81 + -1;
              }
            }
            else {
              if (pSVar54 == (Symbol *)0x0) {
                local_121 = false;
              }
              else {
                local_121 = false;
                if ((pSVar54->field_0x2a & 7) == 1) {
                  local_121 = (General_options *)(pSVar54->u1_).object ==
                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;
                }
              }
              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
              p_Var86 = (_Hash_node_base *)
                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;
              psVar81[-4] = 0x1c;
              psVar81[-5] = 0x89c71;
              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);
              local_38 = 0x8000;
              p_Var52->_M_nxt = (_Hash_node_base *)0x0;
              local_3c = local_108;
              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);
              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;
              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;
              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;
              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;
              p_Var52[5]._M_nxt = p_Var86;
              status = (Compute_final_value_status)local_10c;
              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .super_Relobj.reloc_counts_;
              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);
              psVar81[-4] = (size_t)p_Var68;
              psVar81[-5] = 0x89cef;
              p_Var41 = std::
                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                        ::_M_find_before_node
                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);
              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {
                psVar81[-4] = 1;
                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;
                psVar81[-6] = (size_t)puVar18;
                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).
                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;
                psVar81[-8] = (size_t)local_94;
                psVar81[-9] = 0x89ddd;
                std::__detail::_Prime_rehash_policy::_M_need_rehash
                          (psVar81[-8],psVar81[-7],psVar81[-6]);
                puVar35 = local_90;
                psVar82 = psVar81 + -1;
                if (local_94[0] == '\0') {
                  local_12c = (size_type *)
                              (((Branch_stub_entries *)
                               &(local_b4->super_Sized_relobj_file<64,_false>).
                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                }
                else {
                  if (local_90 == (uint *)0x1) {
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_bucket_count = 0;
                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.
                                 _M_bucket_count;
                  }
                  else {
                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */
                    psVar81[-2] = 0x89e0d;
                    local_12c = (size_type *)
                                std::__detail::
                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>
                                ::_M_allocate_buckets
                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>
                                            *)psVar81[-1],*psVar81);
                  }
                  p_Var62 = ((__node_base *)
                            &(local_b4->super_Sized_relobj_file<64,_false>).
                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;
                  ((__node_base *)
                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;
                  if (p_Var62 != (_Hash_node_base *)0x0) {
                    local_130 = 0;
                    do {
                      p_Var26 = p_Var62->_M_nxt;
                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;
                      psVar7 = local_12c + uVar37;
                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {
                        p_Var62->_M_nxt =
                             ((__node_base *)
                             &(local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;
                        ((__node_base *)
                        &(local_b4->super_Sized_relobj_file<64,_false>).
                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;
                        *psVar7 = (size_type)
                                  &(local_b4->super_Sized_relobj_file<64,_false>).
                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;
                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {
                          local_12c[local_130] = (size_type)p_Var62;
                        }
                      }
                      else {
                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;
                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;
                        uVar37 = local_130;
                      }
                      local_130 = uVar37;
                      p_Var62 = p_Var26;
                    } while (p_Var26 != (_Hash_node_base *)0x0);
                  }
                  pp_Var69 = (((Branch_stub_entries *)
                              &(local_b4->super_Sized_relobj_file<64,_false>).
                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                  if (pp_Var69 !=
                      (__bucket_type *)
                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       local_got_offsets_._M_h._M_bucket_count) {
                    psVar81[-5] = (size_t)pp_Var69;
                    psVar81[-6] = 0x8bccf;
                    operator_delete((void *)psVar81[-5]);
                  }
                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  super_Relobj.reloc_counts_ = puVar35;
                  (((Branch_stub_entries *)
                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;
                  puVar18 = puVar35;
                }
                uVar37 = (uint)p_Var68 % (uint)puVar18;
                unaff_EBX = (undefined **)(uVar37 * 4);
                p_Var52[6]._M_nxt = p_Var68;
                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {
                  p_Var52->_M_nxt =
                       ((__node_base *)
                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .super_Relobj.reloc_bases_)->_M_nxt;
                  ((__node_base *)
                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;
                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {
                    pp_Var69 = (((Branch_stub_entries *)
                                &(local_b4->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                  }
                  else {
                    pp_Var69 = (((Branch_stub_entries *)
                                &(local_b4->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %
                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).
                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =
                         p_Var52;
                  }
                  *(__node_base **)
                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =
                       (__node_base *)
                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .super_Relobj.reloc_bases_;
                }
                else {
                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;
                  (((Branch_stub_entries *)
                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;
                }
                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;
                *psVar7 = *psVar7 + 1;
                if (local_121 == false) {
                  psVar81[-2] = 0x8be14;
                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])
                  ;
                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).
                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.
                           _M_max_load_factor;
                  uVar37 = 0x2000000 - (int)fVar14;
                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);
                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;
                  unaff_EBX = (undefined **)
                              ((int)p_Var52[2]._M_nxt +
                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -
                                 (uint)(0x2000000 < (uint)fVar14)) -
                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -
                              (uint)(uVar75 < (uint)AVar94)));
                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&
                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);
                  }
                  else {
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);
                    pTVar43 = (Target_powerpc<64,_false> *)
                              (local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                              compressed_sections_;
                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;
                    psVar81[-2] = (size_t)local_bc;
                    psVar81[-3] = 0;
                    local_38 = sVar73 * 8;
                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;
                    psVar81[-5] = (size_t)local_9c;
                    status = (Compute_final_value_status)local_10c;
                    local_3c = local_108;
                    psVar81[-6] = 0x8beab;
                    std::
                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();
                    psVar82 = psVar81 + -2;
                  }
                }
                else {
                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).
                            super_Sized_relobj<64,_false>.section_offsets_.
                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                            ._M_impl._M_end_of_storage = true;
                  psVar82 = psVar81 + -1;
                }
              }
              else {
                psVar81[-4] = (size_t)p_Var52;
                psVar81[-5] = 0x89d13;
                operator_delete((void *)psVar81[-4]);
                unaff_EBX = local_ac;
              }
              if (uVar60 - 0xb < 3) {
                uVar60 = 0x8000;
              }
              else {
                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))
                goto LAB_00089370;
                uVar60 = 0x2000000;
              }
              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {
LAB_0008c2e9:
                *(char **)((int)psVar82 + -8) = "can_reach_stub";
                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;
                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;
                gold::do_gold_unreachable
                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),
                           *(char **)((int)psVar82 + -8));
              }
              psVar82[-1] = 0x89d6b;
              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);
              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +
                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),
                                         ((int)p_Var86 - (int)p_Var89) + uVar60);
              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);
              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {
                psVar81 = psVar82;
                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;
                goto LAB_0008a2be;
              }
            }
          }
        }
        else if ((pSVar54->field_0x2a & 7) == 0) {
          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;
          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {
            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.
                      _vptr_Struct_var[5];
            if (p_Var25 != gold::Object::do_pluginobj) {
              psVar81[-4] = (size_t)pGVar23;
              psVar81[-5] = 0x8bd01;
              iVar47 = (*p_Var25)();
              if (iVar47 != 0) goto LAB_00089370;
              if ((pSVar54->field_0x2a & 7) != 0) {
                psVar81[-1] = (size_t)pSVar54;
                psVar81[-2] = (size_t)"shndx";
                psVar81[-3] = 0xaa;
                psVar81[-4] = (size_t)"../../gold/symtab.h";
                    /* WARNING: Subroutine does not return */
                psVar81[-5] = (size_t)&UNK_0008bd35;
                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
              }
            }
            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;
            unaff_EBX = (undefined **)0x0;
          }
        }
        else if ((pSVar54->field_0x2a & 7) != 4) {
LAB_00089b0f:
          psVar81[-2] = (size_t)&status;
          psVar81[-3] = (size_t)pSVar54;
          psVar81[-4] = (size_t)symtab;
          psVar81[-5] = 0x89b2b;
          VVar93 = gold::Symbol_table::compute_final_value<64>
                             ((Symbol_table *)psVar81[-4],(Sized_symbol<64> *)psVar81[-3],
                              (Compute_final_value_status *)psVar81[-2]);
          os_need_update._M_h._M_buckets = (__bucket_type *)(int)VVar93;
          os_need_update._M_h._M_bucket_count = (int)(VVar93 >> 0x20);
          unaff_EBX = local_ac;
          if (status == CFVS_OK) {
            os_need_update._M_h._0_8_ =
                 VVar93 + (1 << ((byte)pSVar54->field_0x29 >> 5) & 0xfffffffc);
            goto LAB_00089b5e;
          }
        }
      }
      else {
        unaff_EBX = (undefined **)
                    (pPVar64->super_Sized_relobj_file<64,_false>).symbols_.
                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                    _M_start;
        uVar84 = uVar60 - uVar84;
        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).symbols_.
                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                        _M_finish - (int)unaff_EBX >> 2) <= uVar84) {
          psVar81[-2] = (size_t)"global_symbol";
          psVar81[-3] = 0x8ad;
          psVar81[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
          psVar81[-5] = 0x8c096;
          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
        }
        pSVar54 = *(Symbol **)((int)unaff_EBX + uVar84 * 4);
        pTVar88 = gold::parameters->target_;
        if (pTVar88 == (Target *)0x0) {
LAB_0008c096:
          psVar81[-2] = (size_t)"sized_target";
          psVar81[-3] = 0x73;
          psVar81[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
          psVar81[-5] = 0x8c0b4;
          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
        }
        if (pSVar54 == (Symbol *)0x0) goto LAB_000899b9;
        if ((pSVar54->field_0x2a & 0x10) == 0) {
          if (((Symbol *)pTVar88[8].osabi_ == pSVar54) &&
             ((Symbol *)pTVar88[9]._vptr_Target != (Symbol *)0x0)) {
            pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;
          }
        }
        else {
          psVar81[-3] = (size_t)pSVar54;
          psVar81[-4] = (size_t)symtab;
          psVar81[-5] = 0x8a11a;
          pSVar42 = gold::Symbol_table::resolve_forwards
                              ((Symbol_table *)psVar81[-4],(Symbol *)psVar81[-3]);
          pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;
          if ((((Symbol *)pTVar88[8].osabi_ != pSVar42) ||
              (unaff_EBX = local_ac, pSVar54 == (Symbol *)0x0)) &&
             (unaff_EBX = local_ac, pSVar54 = pSVar42, pSVar42 == (Symbol *)0x0)) {
            pPVar64 = local_a8->object_;
            uVar60 = local_a8->r_sym_;
            goto LAB_000899d1;
          }
        }
LAB_00089257:
        uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
        if (uVar84 < 0xfd) {
                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar36 = (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + *(int *)(&DAT_002ec2f4 + uVar84 * 4)))()
          ;
          return (bool)uVar36;
        }
        uVar53 = 0;
        if ((pTVar88->processor_specific_flags_ & 2) == 0) {
          uVar53 = 0x10;
        }
        psVar81[-3] = uVar53;
        psVar81[-4] = (size_t)pSVar54;
        psVar81[-5] = 0x892ab;
        bVar92 = gold::Symbol::use_plt_offset((Symbol *)psVar81[-4],psVar81[-3]);
        if (!bVar92) goto LAB_000899ee;
        if ((pTVar88->processor_specific_flags_ & 2) != 0) {
          pGVar51 = gold::parameters->options_;
          if (pGVar51 != (General_options *)0x0) {
            if (((pGVar51->shared_).value != false) || ((pGVar51->pie_).value != false))
            goto LAB_00089ed0;
            uVar84 = *(uint *)&local_a8->field_0x10;
            psVar81[-1] = 0x89306;
            bVar92 = is_branch_reloc(uVar84 & 0x7fffffff);
            if (bVar92) goto LAB_00089ed0;
            pp_Var11 = pTVar88[2]._vptr_Target;
            if (pp_Var11 == (_func_int_varargs **)0x0) {
              psVar81[-1] = CONCAT31(extraout_var,bVar92);
              psVar81[-2] = (size_t)"glink_section";
              psVar81[-3] = 0x3a3;
              psVar81[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
              psVar81[-5] = 0x8c3f9;
              gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
            }
            if ((pGVar51->plt_align_).user_set_via_option == false) {
              uVar84 = 0xffffffe0;
              iVar59 = 0x20;
            }
            else {
              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
              uVar84 = -iVar59;
            }
            unaff_EBX = (undefined **)((uint)(pp_Var11[0x14] + iVar59 + -1) & uVar84);
            psVar81[-1] = (size_t)&status;
            psVar81[-2] = 0;
            psVar81[-3] = (size_t)(pp_Var11 + 0xc);
            psVar81[-4] = (size_t)local_84;
            psVar81[-5] = 0x89359;
            status = (Compute_final_value_status)pSVar54;
            local_3c = (Powerpc_relobj<64,_false> *)unaff_EBX;
            std::
            _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_unsigned_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
            ::_M_emplace<std::pair<const_gold::Symbol*,_unsigned_int>_>();
            if (local_80 != '\0') {
              unaff_EBX = (undefined **)
                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                                 super_Relobj.super_Object.name_.field_2 + 4);
              pp_Var11[0x14] = (_func_int_varargs *)unaff_EBX;
            }
            goto LAB_00089370;
          }
          goto LAB_0008c0b4;
        }
LAB_00089ed0:
        pPVar64 = local_a8->object_;
        uVar84 = local_a8->shndx_;
        if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {
          puVar22 = (pPVar64->stub_table_index_).
                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
          ;
          if (uVar84 < (uint)((int)(pPVar64->stub_table_index_).
                                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                                   _M_impl._M_finish - (int)puVar22 >> 2)) {
            pTVar88 = gold::parameters->target_;
            if (pTVar88 == (Target *)0x0) goto LAB_0008c3f9;
            uVar60 = puVar22[uVar84];
            if ((uVar60 < (uint)((int)((int)pTVar88[4]._vptr_Target - pTVar88[3].osabi_) >> 2)) &&
               (local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar88[3].osabi_ + uVar60 * 4),
               local_b4 != (Powerpc_relobj<64,_false> *)0x0)) goto LAB_00089eef;
          }
          local_b4 = local_110;
          if (local_110 == (Powerpc_relobj<64,_false> *)0x0) {
            psVar81[-2] = (size_t)"make_stub";
            psVar81[-3] = 0xd24;
            psVar81[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
            psVar81[-5] = 0x8c291;
            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
          }
        }
LAB_00089eef:
        puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_start;
        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        section_offsets_.
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84) goto LAB_0008bf9d;
        local_cc = (pointer)puVar77[uVar84];
        local_c8 = *(uint *)((int)puVar77 + uVar84 * 8 + 4);
        if ((local_c8 & (uint)local_cc) != 0xffffffff) {
          p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object._vptr_Object[0x18];
          if (p_Var25 == gold::Relobj::do_output_section) {
            ppOVar19 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       super_Relobj.output_sections_.
                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                       ._M_impl._M_start;
            if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).
                            super_Sized_relobj<64,_false>.super_Relobj.output_sections_.
                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                            ._M_impl._M_finish - (int)ppOVar19 >> 2) <= uVar84) goto LAB_0008c314;
            pOVar45 = ppOVar19[uVar84];
          }
          else {
            psVar81[-3] = uVar84;
            psVar81[-4] = (size_t)pPVar64;
            psVar81[-5] = 0x8a707;
            pOVar45 = (Output_section *)(*p_Var25)();
          }
          if (((pOVar45->super_Output_data).field_0x1c & 1) == 0) {
LAB_0008bf5b:
            *(char **)((int)psVar81 + -8) = "address";
            *(undefined4 *)((int)psVar81 + -0xc) = 0xc5;
            *(char **)((int)psVar81 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)psVar81 + -0x14) = 0x8bf7c;
            gold::do_gold_unreachable
                      (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),
                       *(char **)((int)psVar81 + -8));
          }
          bVar92 = CARRY4((uint)local_cc,(uint)local_a8->offset_);
          uVar84 = (int)local_cc + (int)local_a8->offset_;
          puVar2 = &(pOVar45->super_Output_data).address_;
          local_cc = (pointer)(uVar84 + (int)*puVar2);
          local_c8 = local_c8 + *(int *)((int)&local_a8->offset_ + 4) + (uint)bVar92 +
                     *(int *)((int)&(pOVar45->super_Output_data).address_ + 4) +
                     (uint)CARRY4(uVar84,(uint)*puVar2);
        }
        cVar8 = local_a8->field_0x13;
        local_38 = (int)local_a8->addend_;
        unaff_EBX = *(undefined ***)((int)&local_a8->addend_ + 4);
        uVar84 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                 local_got_offsets_._M_h._M_element_count;
        uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
        pvVar20 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  super_Relobj.map_to_relocatable_relocs_;
        psVar83 = psVar81;
        local_34 = (Powerpc_relobj<64,_false> *)unaff_EBX;
        local_2c = uVar84;
        if (pSVar54 == (Symbol *)0x0) {
          uVar37 = local_a8->r_sym_;
          pPVar64 = local_a8->object_;
          status = CFVS_OK;
          local_28 = (uint)pvVar20 & 0x3fffffff;
          psVar81[-1] = 0x8a382;
          local_3c = pPVar64;
          local_30 = uVar37;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::
          _M_emplace<std::pair<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>
                    ();
          unaff_EBX = (undefined **)local_8c;
          if (local_88 != '\0') {
            psVar81[-1] = 0x8adcd;
            uVar75 = Stub_table<64,_false>::plt_call_size
                               ((Stub_table<64,_false> *)*psVar81,
                                (const_iterator)
                                ((_Node_iterator_base<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>
                                  *)(psVar81 + 1))->_M_cur);
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = uVar75 + uVar84;
            pGVar51 = gold::parameters->options_;
            if (pGVar51 == (General_options *)0x0) goto LAB_0008c376;
            if ((pGVar51->plt_align_).user_set_via_option == false) {
              uVar78 = 0xffffffe0;
              iVar59 = 0x20;
            }
            else {
              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
              uVar78 = -iVar59;
            }
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = ((uVar75 + uVar84) - 1) + iVar59 & uVar78;
            pTVar43 = (Target_powerpc<64,_false> *)
                      (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.super_Object.compressed_sections_;
            if ((((pTVar43->field_0x8 & 2) != 0) && (pTVar43->plt_localentry0_ != false)) &&
               (((pPVar64->st_other_).
                 super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start
                 [uVar37] & 0xe0) == 0)) {
              pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                        super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                        ._M_impl._M_start;
              if ((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                               super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                               ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar37) {
                    /* WARNING: Subroutine does not return */
                psVar81[-1] = (size_t)&UNK_0008c26a;
                plt_off((Target_powerpc<64,_false> *)*psVar81,
                        (Sized_relobj_file<64,_false> *)psVar81[1],psVar81[2],
                        (Output_data_plt_powerpc<64,_false> **)psVar81[3]);
              }
              if ((((pSVar27[uVar37].field_0xb & 0x40) == 0) &&
                  ((*(uint *)&pSVar27[uVar37].field_0x8 & 0x7ffffff) != 0)) &&
                 ((pSVar27[uVar37].field_0xb & 8) != 0)) {
                puVar65 = (undefined1 *)
                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                                 super_Relobj.super_Object.input_file_ + 3);
                *puVar65 = *puVar65 | 0x80;
                ((Target_powerpc<64,_false> *)
                (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                super_Relobj.super_Object.compressed_sections_)->has_localentry0_ = true;
              }
            }
          }
          if ((-1 < cVar8) &&
             (-1 < (char)*(undefined1 *)
                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                                 super_Relobj.super_Object.input_file_ + 3))) {
            puVar65 = (undefined1 *)
                      ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                             super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                             super_Relobj.super_Object.input_file_ + 3);
            *puVar65 = *puVar65 | 0x40;
          }
          if (uVar60 - 0xb < 3) {
            local_e4 = 0x8000;
          }
          else {
            if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17)) goto LAB_00089370;
            local_e4 = 0x2000000;
          }
          if ((local_c8 & (uint)local_cc) == 0xffffffff) goto LAB_0008c2e9;
          if (gold::parameters->options_ == (General_options *)0x0) {
LAB_0008c192:
                    /* WARNING: Subroutine does not return */
            psVar83[-1] = 0x8c197;
            Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar83);
          }
          uVar60 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
          if (uVar60 < 0x20) {
            uVar60 = 0x20;
          }
          if (((uint)(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                     super_Relobj.super_Object.input_file_ & 1) == 0) goto LAB_0008a0fd;
          psVar3 = &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object.name_;
          pcVar63 = (psVar3->_M_dataplus)._M_p + (uVar60 - 1);
          p_Var89 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_before_begin._M_nxt;
          unaff_EBX = (undefined **)((uint)((int)&p_Var89->_M_nxt + (int)pcVar63) & -uVar60);
          iVar59 = (((uVar60 != 0) - 1) +
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object.name_._M_string_length +
                    (uint)CARRY4(uVar60 - 1,(uint)(psVar3->_M_dataplus)._M_p) +
                    (uint)CARRY4((uint)p_Var89,(uint)pcVar63) & -(uint)(uVar60 != 0)) +
                   (uint)CARRY4(uVar84,(uint)unaff_EBX);
          pPVar64 = (Powerpc_relobj<64,_false> *)unaff_EBX;
        }
        else {
          local_3c = (Powerpc_relobj<64,_false> *)0x0;
          local_30 = 0;
          local_28 = (uint)pvVar20 & 0x3fffffff;
          psVar81[-1] = 0x8a02d;
          status = (Compute_final_value_status)pSVar54;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::
          _M_emplace<std::pair<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>
                    ();
          pPVar64 = local_8c;
          if (local_88 != '\0') {
            psVar81[-1] = 0x8a4b7;
            uVar37 = Stub_table<64,_false>::plt_call_size
                               ((Stub_table<64,_false> *)*psVar81,
                                (const_iterator)
                                ((_Node_iterator_base<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>
                                  *)(psVar81 + 1))->_M_cur);
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = uVar37 + uVar84;
            pTVar43 = (Target_powerpc<64,_false> *)
                      (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.super_Object.compressed_sections_;
            unaff_EBX = (undefined **)local_b4;
            if ((((pTVar43->field_0x8 & 2) != 0) && (pTVar43->plt_localentry0_ != false)) &&
               ((pSVar54->field_0x28 & 0xf) == 2)) {
              if ((pSVar54->field_0x2a & 7) == 0) {
                if ((pSVar54->field_0x2b & 0x20) == 0) {
                  psVar81[-4] = (size_t)(pSVar54->u2_).shndx;
                  psVar81[-5] = 0x8bf3b;
                  bVar92 = gold::Symbol::is_common_shndx(psVar81[-4]);
                  bVar92 = !bVar92;
                  unaff_EBX = local_ac;
                }
                else {
                  bVar92 = (Target *)(pSVar54->u2_).shndx != (Target *)0x0;
                }
              }
              else {
                bVar92 = (pSVar54->field_0x2a & 7) != 4;
              }
              if (((bVar92) && ((pSVar54->field_0x29 & 0xe0) == 0)) &&
                 ((pSVar54->field_0x2c & 0x10) == 0)) {
                puVar65 = (undefined1 *)
                          ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_
                          + 3);
                *puVar65 = *puVar65 | 0x80;
                ((Target_powerpc<64,_false> *)
                (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                super_Relobj.super_Object.compressed_sections_)->has_localentry0_ = true;
                pTVar43 = (Target_powerpc<64,_false> *)
                          (local_b4->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                          compressed_sections_;
              }
              else {
                pTVar43 = (Target_powerpc<64,_false> *)
                          (local_b4->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                          compressed_sections_;
              }
            }
            if ((pTVar43->tls_get_addr_opt_ == (Symbol *)0x0) ||
               ((pTVar43->tls_get_addr_ != pSVar54 && (pTVar43->tls_get_addr_opt_ != pSVar54)))) {
              sVar73 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       local_got_offsets_._M_h._M_element_count;
            }
            else {
              pTVar43->has_tls_get_addr_opt_ = true;
              sVar73 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       local_got_offsets_._M_h._M_element_count;
              *(size_type *)&(local_b4->super_Sized_relobj_file<64,_false>).elf_file_.shoff_ =
                   sVar73 - 0x14;
            }
            pGVar51 = gold::parameters->options_;
            if (pGVar51 == (General_options *)0x0) {
LAB_0008c376:
                    /* WARNING: Subroutine does not return */
              psVar81[-1] = 0x8c37b;
              Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar81);
            }
            if ((pGVar51->plt_align_).user_set_via_option == false) {
              uVar37 = 0xffffffe0;
              iVar59 = 0x20;
            }
            else {
              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
              uVar37 = -iVar59;
            }
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = (sVar73 - 1) + iVar59 & uVar37;
          }
          if ((-1 < cVar8) &&
             (-1 < (char)*(undefined1 *)
                          ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_
                          + 3))) {
            puVar65 = (undefined1 *)
                      ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).
                             super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ + 3
                      );
            *puVar65 = *puVar65 | 0x40;
          }
          if (uVar60 - 0xb < 3) {
            local_e4 = 0x8000;
          }
          else {
            if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17)) goto LAB_00089370;
            local_e4 = 0x2000000;
          }
          if ((local_c8 & (uint)local_cc) == 0xffffffff) goto LAB_0008c2e9;
          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;
          uVar60 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
          if (uVar60 < 0x20) {
            uVar60 = 0x20;
          }
          if (((uint)(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                     super_Relobj.super_Object.input_file_ & 1) == 0) {
LAB_0008a0fd:
                    /* WARNING: Subroutine does not return */
            psVar81[-1] = (size_t)&UNK_0008a102;
            Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar81);
          }
          psVar3 = &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object.name_;
          pcVar63 = (psVar3->_M_dataplus)._M_p + (uVar60 - 1);
          unaff_EBX = (undefined **)
                      (((uVar60 != 0) - 1) +
                       (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       super_Relobj.super_Object.name_._M_string_length +
                      (uint)CARRY4(uVar60 - 1,(uint)(psVar3->_M_dataplus)._M_p));
          p_Var89 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_before_begin._M_nxt;
          pPVar64 = (Powerpc_relobj<64,_false> *)
                    ((uint)((int)&p_Var89->_M_nxt + (int)pcVar63) & -uVar60);
          iVar59 = ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object._vptr_Object +
                    (uint)CARRY4((uint)p_Var89,(uint)pcVar63) & -(uint)(uVar60 != 0)) +
                   (uint)CARRY4(uVar84,(uint)pPVar64);
        }
        uVar84 = (int)&(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       super_Relobj.super_Object._vptr_Object + uVar84;
        uVar60 = uVar84 - (int)local_cc;
        if (((iVar59 - local_c8) - (uint)(uVar84 < local_cc)) + (uint)CARRY4(uVar60,local_e4) <
            (uint)(uVar60 + local_e4 < local_e4 * 2)) goto LAB_00089370;
LAB_0008a1d8:
        local_bc = &status;
        psVar82 = psVar81;
        if ((gold::parameters->debug_ & 0x40) != 0) {
          pEVar21 = gold::parameters->errors_;
          piVar85 = *(int **)&(local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.field_0x2c;
          iVar59 = *piVar85;
          *(Xindex **)((int)psVar81 + -8) =
               (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
               super_Relobj.super_Object.xindex_;
          *(int **)((int)psVar81 + -0xc) = piVar85;
          *(Compute_final_value_status **)((int)psVar81 + -0x10) = local_bc;
          pcVar12 = *(code **)(iVar59 + 0x40);
          *(undefined4 *)((int)psVar81 + -0x14) = 0x8a1ff;
          (*pcVar12)();
          CVar16 = status;
          uVar53 = *(undefined4 *)
                    (*(int *)&(local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.field_0x2c + 4
                    );
          AVar34 = local_a8->offset_;
          pPVar64 = local_a8->object_;
          p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object._vptr_Object[0x10];
          if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {
            *(uint *)((int)psVar81 + -0xc) = local_a8->shndx_;
            *(Elf_file<64,_false,_gold::Object> **)((int)psVar81 + -0x10) =
                 &(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;
            *(Output_sections **)((int)psVar81 + -0x14) = &os_need_update;
                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */
            *(undefined4 *)((int)psVar81 + -0x18) = 0x8a258;
            elfcpp::Elf_file<64,_false,_gold::Object>::section_name
                      (*(Elf_file<64,_false,_gold::Object> **)((int)psVar81 + -0x10),
                       *(uint *)((int)psVar81 + -0xc));
          }
          else {
            *(uint *)((int)psVar81 + -0xc) = local_a8->shndx_;
            *(Powerpc_relobj<64,_false> **)((int)psVar81 + -0x10) = pPVar64;
            *(Output_sections **)((int)psVar81 + -0x14) = &os_need_update;
                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */
            *(undefined4 *)((int)psVar81 + -0x18) = 0x8af32;
            (*p_Var25)();
          }
          *(Compute_final_value_status *)((int)psVar81 + -0x10) = CVar16;
          pPVar64 = local_a8->object_;
          *(undefined4 *)((int)psVar81 + -0x14) = uVar53;
          *(int *)((int)psVar81 + -0x18) = (int)AVar34;
          *(__bucket_type **)((int)psVar81 + -0x1c) = os_need_update._M_h._M_buckets;
          *(pointer *)((int)psVar81 + -0x20) =
               (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
               super_Relobj.super_Object.name_._M_dataplus._M_p;
          *(char **)((int)psVar81 + -0x24) =
               "branch at %s:%s+%#lx\ncan\'t reach stub attached to %s:%s";
          *(Errors **)((int)psVar81 + -0x28) = pEVar21;
                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */
          *(undefined4 *)((int)psVar81 + -0x2c) = 0x8a289;
          gold::Errors::debug(*(Errors **)((int)psVar81 + -0x28),*(char **)((int)psVar81 + -0x24));
          if ((__node_base *)os_need_update._M_h._M_buckets != &os_need_update._M_h._M_before_begin)
          {
            *(__bucket_type **)((int)psVar81 + -0x18) = os_need_update._M_h._M_buckets;
            *(undefined4 *)((int)psVar81 + -0x1c) = 0x8a29f;
            operator_delete(*(void **)((int)psVar81 + -0x18));
          }
          psVar82 = (size_t *)((int)psVar81 + -8);
          unaff_EBX = local_ac;
          if ((int *)status != &local_38) {
            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
            *(Compute_final_value_status *)((int)psVar81 + -0x18) = status;
            *(undefined4 *)((int)psVar81 + -0x1c) = 0x8a2bb;
            operator_delete(*(void **)((int)psVar81 + -0x18));
            psVar82 = (size_t *)((int)psVar81 + -8);
          }
        }
LAB_0008a2be:
        if (this->relax_failed_ == false) {
          this->relax_failed_ = true;
          iVar59 = this->relax_fail_count_ + 1;
          this->relax_fail_count_ = iVar59;
          if (iVar59 < 3) {
            return true;
          }
        }
      }
LAB_00089370:
      local_a8 = local_a8 + 1;
      psVar81 = psVar82;
    } while ((this->branch_info_).
             super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>
             ._M_impl._M_finish != local_a8);
  }
  sVar73 = (this->branch_lookup_table_)._M_h._M_element_count;
  local_fc = sVar73 != local_120;
  if (sVar73 != 0) {
    psVar82[-1] = 0x8b9ca;
    make_brlt_section((Target_powerpc<64,_false> *)*psVar82,(Layout *)psVar82[1]);
  }
  if (sVar73 != local_120) {
    unaff_EBX = (undefined **)this->brlt_section_;
    bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>
                       ).super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;
    *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
              super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ = bVar70 & 0xfa;
    puVar56 = psVar82;
    if ((bVar70 & 8) != 0) {
      if ((bVar70 & 2) == 0) {
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity
             = sVar73 << 4;
        *(undefined4 *)
         ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = 0;
        psVar82[-1] = 0;
        psVar82[-2] = (size_t)"set_data_size";
        psVar82[-3] = 0x218;
        psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
        psVar82[-5] = 0x8c35a;
        gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
      }
      goto LAB_0008b9d8;
    }
    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
    super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity =
         sVar73 << 4;
    oVar97 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
             super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_;
    *(undefined4 *)
     ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
            super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = 0;
    *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
              super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
         bVar70 & 0xfa | 2;
    pbVar4 = (byte *)((int)oVar97 + 0x92);
    *pbVar4 = *pbVar4 | 4;
    piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.field_0x2c;
    if (piVar85 != (int *)0x0) {
      bVar70 = *(byte *)(piVar85 + 7);
      *(byte *)(piVar85 + 7) = bVar70 & 0xfa;
      local_a8 = (pointer)*piVar85;
      pcVar12 = *(code **)((int)local_a8 + 0x3c);
      if ((bVar70 & 8) == 0) {
        *(byte *)(piVar85 + 7) = bVar70 & 0xf8;
        if (pcVar12 != gold::Output_data::do_reset_address_and_file_offset) goto LAB_0008bb14;
      }
      else {
        if (pcVar12 != gold::Output_data::do_reset_address_and_file_offset) {
LAB_0008bb14:
          psVar82[-4] = (size_t)piVar85;
          psVar82[-5] = 0x8bb1a;
          (*pcVar12)();
          piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                              super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                              super_Relobj.super_Object.field_0x2c;
        }
        if ((*(byte *)(piVar85 + 7) & 2) != 0) {
LAB_0008b9d8:
          *(char **)((int)puVar56 + -8) = "set_current_data_size_for_child";
          *(undefined4 *)((int)puVar56 + -0xc) = 0x231;
          *(char **)((int)puVar56 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
          *(undefined **)((int)puVar56 + -0x14) = &UNK_0008b9f9;
          gold::do_gold_unreachable
                    (*(char **)((int)puVar56 + -0x10),*(int *)((int)puVar56 + -0xc),
                     *(char **)((int)puVar56 + -8));
        }
        local_a8 = (pointer)*piVar85;
      }
      piVar85[3] = sVar73 * 0x18;
      piVar85[4] = 0;
      psVar82[-4] = (size_t)piVar85;
      pcVar12 = *(code **)((int)local_a8 + 0x38);
      psVar82[-5] = 0x89480;
      (*pcVar12)();
      if ((*(byte *)(piVar85 + 7) & 2) == 0) {
LAB_0008c197:
        *(char **)((int)psVar82 + -8) = "finalize_data_size";
        *(undefined4 *)((int)psVar82 + -0xc) = 0x163;
        *(char **)((int)psVar82 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c1b8;
        gold::do_gold_unreachable
                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),
                   *(char **)((int)psVar82 + -8));
      }
      pbVar4 = (byte *)(*(int *)(*(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                          super_Sized_relobj_file<64,_false>).
                                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                                          field_0x2c + 0x20) + 0x92);
      *pbVar4 = *pbVar4 | 4;
    }
  }
  ppSVar39 = (this->stub_tables_).
             super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
             ._M_impl._M_finish;
  if (ppSVar39 !=
      (this->stub_tables_).
      super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
      ._M_impl._M_start) {
    do {
      pSVar13 = ppSVar39[-1];
      if (pSVar13->plt_fde_len_ == 0) {
        if ((this->stub_tables_).
            super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
            ._M_impl._M_start == ppSVar39 + -1) goto LAB_00089528;
      }
      else {
        psVar82[-3] = pSVar13->plt_fde_len_;
        psVar82[-4] = (size_t)pSVar13->plt_fde_;
        psVar82[-5] = 0xc;
        psVar82[-6] = (size_t)"\x01zR";
        psVar82[-7] = (size_t)pSVar13;
        psVar82[-8] = (size_t)layout;
        psVar82[-9] = 0x8950d;
        gold::Layout::remove_eh_frame_for_plt
                  ((Layout *)psVar82[-8],(Output_data *)psVar82[-7],(uchar *)psVar82[-6],psVar82[-5]
                   ,(uchar *)psVar82[-4],psVar82[-3]);
        pSVar13->plt_fde_len_ = 0;
        unaff_EBX = local_ac;
        if ((this->stub_tables_).
            super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
            ._M_impl._M_start == ppSVar39 + -1) goto LAB_00089528;
      }
      ppSVar39 = ppSVar39 + -1;
    } while( true );
  }
  goto LAB_0008a784;
LAB_00089744:
  do {
    unaff_EBX = (undefined **)*ppSVar72;
    piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.offset_;
    pcVar12 = *(code **)(*piVar85 + 0xc);
    if (pcVar12 == gold::Output_section::do_addralign) {
      uVar96 = *(undefined8 *)(piVar85 + 9);
    }
    else {
      psVar82[-4] = (size_t)piVar85;
                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */
      psVar82[-5] = 0x8a776;
      uVar96 = (*pcVar12)();
    }
    uVar84 = (uint)((ulonglong)uVar96 >> 0x20);
    local_a8 = (pointer)uVar96;
    if (gold::parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */
      psVar82[-1] = 0x8c30f;
      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);
    }
    local_b4 = (Powerpc_relobj<64,_false> *)
               (1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f));
    if (local_b4 < 0x20) {
      if (uVar84 == 0 && (uint)(0x1f < local_a8) <= -uVar84) {
        piVar85[9] = 0x20;
        piVar85[10] = 0;
        local_b4 = (Powerpc_relobj<64,_false> *)0x20;
LAB_000897c9:
        iVar59 = piVar85[0x2b];
        if (iVar59 != 0) {
          *(Powerpc_relobj<64,_false> **)(iVar59 + 4) = local_b4;
          *(undefined4 *)(iVar59 + 8) = 0;
        }
      }
    }
    else if (uVar84 < (local_a8 < local_b4)) {
      piVar85[9] = (int)local_b4;
      piVar85[10] = 0;
      goto LAB_000897c9;
    }
    fVar14 = (float)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count;
    p_Var15 = (__bucket_type)
              (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
              super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize;
    if (((((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
         super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_max_load_factor
         != fVar14) ||
       (p_Var15 !=
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_single_bucket)) {
      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
      super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_single_bucket = p_Var15;
      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
      super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_max_load_factor =
           fVar14;
      CVar16 = *(Compute_final_value_status *)&(*ppSVar72)->field_0x20;
      psVar82[-3] = 1;
      psVar82[-4] = 0;
      status = CVar16;
      psVar82[-5] = (size_t)&__node_gen;
      psVar82[-6] = (size_t)&status;
      psVar82[-7] = (size_t)&os_need_update;
      psVar82[-8] = (size_t)local_a4;
      __node_gen._M_h = (__hashtable_alloc *)&os_need_update;
                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */
      psVar82[-9] = 0x8972b;
      std::
      _Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>
      ::
      _M_insert<gold::Output_section*,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<gold::Output_section*,_false>_>_>_>
                ();
      local_fc = true;
    }
    ppSVar72 = ppSVar72 + 1;
    _Var33._M_nxt = os_need_update._M_h._M_before_begin._M_nxt;
  } while ((this->stub_tables_).
           super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
           ._M_impl._M_finish != ppSVar72);
  for (; _Var33._M_nxt != (_Hash_node_base *)0x0; _Var33._M_nxt = (_Var33._M_nxt)->_M_nxt) {
    lVar30 = 0;
    p_Var89 = _Var33._M_nxt[1]._M_nxt;
    local_a8 = (pointer)p_Var89[0x1b]._M_nxt;
    if (local_a8 != (pointer)p_Var89[0x1c]._M_nxt) {
      do {
        p_Var86 = (_Hash_node_base *)local_a8->object_;
        if (((_Hash_node_base *)((int)local_a8 + 4))->_M_nxt == (_Hash_node_base *)0x0) {
          if ((_Hash_node_base *)0xfffffffb < p_Var86) {
            p_Var52 = ((_Hash_node_base *)((int)local_a8 + 0x10))->_M_nxt;
            p_Var68 = p_Var52->_M_nxt[3]._M_nxt;
            if (p_Var68 == (_Hash_node_base *)gold::Output_section_data::do_addralign) {
              lVar98 = *(longlong *)(p_Var52 + 9);
            }
            else {
              psVar82[-4] = (size_t)p_Var52;
              psVar82[-5] = 0x8ad8e;
              lVar98 = (*(code *)p_Var68)();
              p_Var86 = (_Hash_node_base *)local_a8->object_;
            }
            goto LAB_0008aa09;
          }
LAB_0008aab8:
          local_b0 = (int)((ulonglong)lVar30 >> 0x20);
          local_b4 = (Powerpc_relobj<64,_false> *)lVar30;
          psVar82[-4] = (size_t)local_a8;
          psVar82[-5] = 0x8aacd;
          pRVar48 = gold::Output_section::Input_section::relobj((Input_section *)psVar82[-4]);
          psVar82[-4] = (size_t)local_a8;
          psVar82[-5] = 0x8aadd;
          uVar84 = gold::Output_section::Input_section::shndx((Input_section *)psVar82[-4]);
          pp_Var11 = (pRVar48->super_Object)._vptr_Object;
          *(longlong *)(psVar82 + -2) = lVar30;
          psVar82[-3] = uVar84;
          psVar82[-4] = (size_t)pRVar48;
          p_Var25 = pp_Var11[0x37];
          psVar82[-5] = 0x8aaf6;
          (*p_Var25)();
          if ((_Hash_node_base *)local_a8->object_ != (_Hash_node_base *)0xfffffffc)
          goto LAB_0008aa48;
          local_c8 = 0;
          unaff_EBX = (undefined **)((_Hash_node_base *)((int)local_a8 + 0x10))->_M_nxt;
          lVar98 = lVar30 + ZEXT48((((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                   super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                                   .local_got_offsets_._M_h._M_before_begin._M_nxt);
          local_cc = (pointer)((((Powerpc_relobj<64,_false> *)unaff_EBX)->
                               super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                               local_got_offsets_._M_h._M_rehash_policy._M_next_resize +
                              (((Powerpc_relobj<64,_false> *)unaff_EBX)->
                              super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                              local_got_offsets_._M_h._M_element_count);
          if (*(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        section_offsets_.
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        ._M_impl._M_end_of_storage != false) {
            pOVar10 = ((Target_powerpc<64,_false> *)
                      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)
                      ->savres_section_;
            if ((pOVar10->field_0x1c & 2) == 0) {
              psVar82[-2] = (size_t)"data_size";
              psVar82[-3] = 0xcf;
              psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
              psVar82[-5] = 0x8c054;
              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
            }
            bVar92 = CARRY4((uint)local_cc,*(uint *)&pOVar10->field_0xc);
            local_cc = (pointer)((int)local_cc + *(uint *)&pOVar10->field_0xc);
            local_c8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;
          }
          if (local_c8 != 0 || local_cc != (pointer)0x0) {
            if (gold::parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
              psVar82[-1] = 0x8c314;
              Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);
            }
            uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
            if (uVar84 < 0x20) {
              uVar84 = 0x20;
            }
            lVar98 = lVar98 + CONCAT44((uVar84 != 0) - 1,uVar84 - 1);
            lVar98 = CONCAT44(-(uint)(uVar84 != 0) & (uint)((ulonglong)lVar98 >> 0x20),
                              (uint)lVar98 & -uVar84);
          }
          pvVar6 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.section_offsets_;
          puVar77 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.section_offsets_.
                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                    ._M_impl._M_finish;
          AVar31._0_4_ = (pvVar6->
                         super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                         )._M_impl._M_start;
          AVar31._4_4_ = (pvVar6->
                         super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                         )._M_impl._M_finish;
          AVar94 = lVar98 + CONCAT44((local_c8 - local_b0) - (uint)(local_cc < local_b4),
                                     (int)local_cc - (int)local_b4);
          puVar74 = (pointer)(AVar94 >> 0x20);
          if (puVar77 < puVar74 ||
              (uint)((int)puVar77 - (int)puVar74) <
              (uint)((pvVar6->
                     super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                     )._M_impl._M_start < (pointer)AVar94)) {
            AVar31 = AVar94;
          }
          bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                             super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                             super_Relobj.super_Object.input_file_;
          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
               bVar70 & 0xfa;
          if ((bVar70 & 8) == 0) {
            *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
                 bVar70 & 0xf8;
          }
          else if ((bVar70 & 2) != 0) {
            psVar82[-2] = (size_t)"set_current_data_size_for_child";
            psVar82[-3] = 0x231;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
            psVar82[-5] = (size_t)&UNK_0008acc9;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          *(Address *)
           &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
            super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 = AVar31;
          if (((uint)p_Var89[7]._M_nxt & 4) == 0) {
            psVar82[-2] = (size_t)"offset";
            psVar82[-3] = 0xe3;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
            psVar82[-5] = 0x8c075;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          p_Var86 = p_Var89[5]._M_nxt;
          p_Var52 = p_Var89[6]._M_nxt;
          if (((uint)p_Var89[7]._M_nxt & 1) == 0) {
            psVar82[-2] = (size_t)"address";
            psVar82[-3] = 0xc5;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8bfdf;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          p_Var68 = p_Var89[1]._M_nxt;
          p_Var62 = p_Var89[1]._M_nxt;
          p_Var26 = p_Var89[2]._M_nxt;
          *(int *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                         super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                         super_Relobj.super_Object.name_.field_2 + 8) =
               (int)&(p_Var89[5]._M_nxt)->_M_nxt + (int)local_b4;
          pPVar49 = (Parameters *)
                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;
          (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
          super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =
               (pointer)((int)&p_Var62->_M_nxt + (int)local_b4);
          (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
          super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =
               (int)&p_Var26->_M_nxt + (uint)CARRY4((uint)local_b4,(uint)p_Var68) + local_b0;
          *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object.name_.field_2 + 0xc) =
               (int)&p_Var52->_M_nxt + (uint)CARRY4((uint)local_b4,(uint)p_Var86) + local_b0;
          ppIVar1 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                     super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;
          *(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;
          psVar82[-4] = (size_t)unaff_EBX;
          pcVar12 = (code *)pPVar49[1].incremental_mode_;
          psVar82[-5] = 0x8ac5b;
          (*pcVar12)();
          if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                     super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)
          {
            psVar82[-2] = (size_t)"finalize_data_size";
            psVar82[-3] = 0x163;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8c033;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          lVar98 = lVar30 + AVar31;
          lVar30 = AVar31 + lVar30;
          if (3 < pass) {
            pSVar32 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>
                       ).super_Sized_relobj<64,_false>;
            (pSVar32->section_offsets_).
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.
            _M_impl._M_start = (pointer)(int)AVar31;
            (pSVar32->section_offsets_).
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.
            _M_impl._M_finish = (pointer)(int)(AVar31 >> 0x20);
            lVar30 = lVar98;
          }
        }
        else {
          puVar65 = (undefined1 *)
                    ((int)&((_Hash_node_base *)((int)local_a8 + 4))->_M_nxt[-1]._M_nxt + 3);
          bVar70 = (byte)puVar65;
          bVar92 = ((uint)puVar65 & 0x20) == 0;
          lVar98 = CONCAT44((uint)!bVar92 << (bVar70 & 0x1f),(uint)bVar92 << (bVar70 & 0x1f));
LAB_0008aa09:
          if (lVar98 != 0) {
            lVar30 = lVar30 + -1 + lVar98;
            lVar30 = CONCAT44((uint)((ulonglong)lVar30 >> 0x20) &
                              -((int)((ulonglong)lVar98 >> 0x20) + (uint)((int)lVar98 != 0)),
                              (uint)lVar30 & -(int)lVar98);
          }
          if ((undefined1 *)0x2 < (undefined1 *)((int)&p_Var86->_M_nxt + 3U)) goto LAB_0008aab8;
LAB_0008aa48:
          psVar82[-4] = (size_t)local_a8;
          psVar82[-5] = 0x8aa5c;
          oVar97 = gold::Output_section::Input_section::data_size((Input_section *)psVar82[-4]);
          unaff_EBX = local_ac;
          lVar30 = oVar97 + lVar30;
        }
        local_a8 = (pointer)((int)local_a8 + 0x18);
      } while ((pointer)p_Var89[0x1c]._M_nxt != local_a8);
    }
    pbVar4 = (byte *)((int)&p_Var89[0x24]._M_nxt + 2);
    *pbVar4 = *pbVar4 & 0xfb;
  }
  goto joined_r0x0008acfa;
LAB_00089528:
  if (ppSVar39 + -1 !=
      (this->stub_tables_).
      super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
      ._M_impl._M_finish) {
    pSVar13 = ppSVar39[-1];
    ppPVar5 = &gold::parameters;
    pGVar51 = gold::parameters->options_;
    while (pGVar51 != (General_options *)0x0) {
      unaff_EBX = (undefined **)ppPVar5;
      if ((((pGVar51->ld_generated_unwind_info_).value != false) &&
          (pSVar13->targ_->glink_ != (Output_data_glink<64,_false> *)0x0)) &&
         (pSVar13->branch_size_ + pSVar13->plt_size_ + (uint)pSVar13->need_save_res_ != 0)) {
        puVar61 = pSVar13->plt_fde_ + 9;
        pSVar13->plt_fde_[0] = '\0';
        pSVar13->plt_fde_[1] = '\0';
        pSVar13->plt_fde_[2] = '\0';
        pSVar13->plt_fde_[3] = '\0';
        pSVar13->plt_fde_[4] = '\0';
        pSVar13->plt_fde_[5] = '\0';
        pSVar13->plt_fde_[6] = '\0';
        pSVar13->plt_fde_[7] = '\0';
        pSVar13->plt_fde_[8] = '\0';
        uVar84 = pSVar13->tls_get_addr_opt_bctrl_;
        if (uVar84 != 0xffffffff) {
          uVar60 = uVar84 >> 2;
          if (uVar84 < 0x100) {
            puVar61 = pSVar13->plt_fde_ + 10;
            pSVar13->plt_fde_[9] = (uchar)uVar60 + '@';
          }
          else if (uVar84 < 0x400) {
            pSVar13->plt_fde_[9] = '\x02';
            puVar61 = pSVar13->plt_fde_ + 0xb;
            pSVar13->plt_fde_[10] = (uchar)uVar60;
          }
          else if (uVar84 < 0x40000) {
            pSVar13->plt_fde_[9] = '\x03';
            puVar61 = pSVar13->plt_fde_ + 0xc;
            *(short *)(pSVar13->plt_fde_ + 10) = (short)uVar60;
          }
          else {
            pSVar13->plt_fde_[9] = '\x04';
            puVar61 = pSVar13->plt_fde_ + 0xe;
            *(uint *)(pSVar13->plt_fde_ + 10) = uVar60;
          }
          puVar61[0] = '\x11';
          puVar61[1] = 'A';
          uVar84 = *(uint *)&pSVar13->targ_->field_0x8;
          puVar61[3] = 'D';
          puVar61[4] = '\x06';
          puVar61[5] = 'A';
          puVar61[2] = (-((uVar84 & 2) == 0) & 0xfdU) + 0x7f;
          puVar61 = puVar61 + 6;
        }
        uVar84 = (int)puVar61 - (int)pSVar13->plt_fde_;
        pSVar13->plt_fde_len_ = uVar84;
        psVar82[-3] = uVar84;
        psVar82[-4] = (size_t)pSVar13->plt_fde_;
        psVar82[-5] = 0xc;
        psVar82[-6] = (size_t)"\x01zR";
        psVar82[-7] = (size_t)pSVar13;
        psVar82[-8] = (size_t)layout;
        psVar82[-9] = 0x89654;
        gold::Layout::add_eh_frame_for_plt
                  ((Layout *)psVar82[-8],(Output_data *)psVar82[-7],(uchar *)psVar82[-6],psVar82[-5]
                   ,(uchar *)psVar82[-4],psVar82[-3]);
        unaff_EBX = local_ac;
      }
      if ((this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish == ppSVar39) {
        os_need_update._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
        ppSVar72 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_start;
        os_need_update._M_h._M_element_count = 0;
        os_need_update._M_h._M_bucket_count = 1;
        os_need_update._M_h._M_buckets = &os_need_update._M_h._M_single_bucket;
        os_need_update._M_h._M_rehash_policy._M_max_load_factor = 1.0;
        os_need_update._M_h._M_rehash_policy._M_next_resize = 0;
        os_need_update._M_h._M_single_bucket = (__bucket_type)0x0;
        if (ppSVar72 == ppSVar39) goto joined_r0x0008acfa;
        goto LAB_00089744;
      }
      pSVar13 = *ppSVar39;
      ppSVar39 = ppSVar39 + 1;
      ppPVar5 = (Parameters **)unaff_EBX;
      pGVar51 = gold::parameters->options_;
    }
    goto LAB_0008c0b4;
  }
LAB_0008a784:
  os_need_update._M_h._M_bucket_count = 1;
  os_need_update._M_h._M_buckets = &os_need_update._M_h._M_single_bucket;
  os_need_update._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  os_need_update._M_h._M_element_count = 0;
  os_need_update._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  os_need_update._M_h._M_rehash_policy._M_next_resize = 0;
  os_need_update._M_h._M_single_bucket = (__bucket_type)0x0;
joined_r0x0008acfa:
  if (local_fc != false) goto LAB_0008ad00;
  if (sVar73 == 0) {
LAB_0008af56:
    pGVar51 = gold::parameters->options_;
    if (pGVar51 == (General_options *)0x0) {
      psVar82[-1] = (size_t)unaff_EBX;
      psVar82[-2] = (size_t)"options";
      psVar82[-3] = 0x5c;
      psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */
      psVar82[-5] = (size_t)&UNK_0008c216;
      gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
    }
  }
  else {
    pGVar51 = gold::parameters->options_;
    if (pGVar51 == (General_options *)0x0) {
      psVar82[-1] = 0;
      psVar82[-2] = (size_t)"options";
      psVar82[-3] = 0x5c;
      psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */
      psVar82[-5] = 0x8c376;
      gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
    }
    if (((pGVar51->shared_).value != false) || ((pGVar51->pie_).value != false)) {
      pOVar87 = this->brlt_section_;
      bVar70 = (pOVar87->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.field_0x1c;
      if ((bVar70 & 8) == 0) {
        (pOVar87->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        field_0x1c = bVar70 & 0xfd;
      }
      local_a8 = (pointer)pOVar87->rel_;
      bVar70 = (((Reloc_section *)local_a8)->super_Output_data_reloc_base<4,_true,_64,_false>).
               super_Output_data_reloc_generic.super_Output_section_data_build.
               super_Output_section_data.super_Output_data.field_0x1c;
      if ((bVar70 & 8) == 0) {
        (((Reloc_section *)local_a8)->super_Output_data_reloc_base<4,_true,_64,_false>).
        super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data.
        super_Output_data.field_0x1c = bVar70 & 0xfd;
      }
      p_Var89 = (this->branch_lookup_table_)._M_h._M_before_begin._M_nxt;
      if (p_Var89 != (_Hash_node_base *)0x0) {
        while( true ) {
          p_Var86 = p_Var89[1]._M_nxt;
          p_Var52 = p_Var89[2]._M_nxt;
          p_Var68 = p_Var89[3]._M_nxt;
          psVar82[-3] = 1;
          psVar82[-4] = 0;
          psVar82[-5] = (size_t)p_Var68;
          psVar82[-6] = (size_t)pOVar87;
          psVar82[-7] = 0x16;
          psVar82[-8] = (size_t)&status;
          psVar82[-9] = 0x8a935;
          gold::Output_reloc<9,_true,_64,_false>::Output_reloc
                    ((Output_reloc<9,_true,_64,_false> *)psVar82[-8],psVar82[-7],
                     (Output_data *)psVar82[-6],*(Address *)(psVar82 + -5),*(bool *)(psVar82 + -3));
          local_24 = p_Var86;
          local_20 = p_Var52;
          pOVar24 = (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
                    super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                    ._M_impl._M_finish;
          if (pOVar24 ==
              (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
              super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
              ._M_impl._M_end_of_storage) {
            psVar82[-2] = (size_t)&status;
            psVar82[-3] = (size_t)pOVar24;
            psVar82[-4] = (size_t)&((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_
                                   )->relocs_;
            psVar82[-5] = 0x8a975;
            std::
            vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
            ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_64,_false>&>
                      ((vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                        *)psVar82[-4],(Output_reloc<4,_true,_64,_false> *)psVar82[-3],
                       (Output_reloc<4,_true,_64,_false> *)psVar82[-2]);
            pOVar46 = (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
                      super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                      ._M_impl._M_finish;
          }
          else {
            pOVar46 = pOVar24 + 1;
            (pOVar24->rel_).u1_ = (anon_union_4_4_c82d8563_for_u1_)status;
            (pOVar24->rel_).u2_.relobj = (Sized_relobj<64,_false> *)local_3c;
            *(int *)&(pOVar24->rel_).address_ = local_38;
            *(Powerpc_relobj<64,_false> **)((int)&(pOVar24->rel_).address_ + 4) = local_34;
            (pOVar24->rel_).local_sym_index_ = local_30;
            *(uint *)&(pOVar24->rel_).field_0x14 = local_2c;
            (pOVar24->rel_).shndx_ = local_28;
            *(_Hash_node_base **)&pOVar24->addend_ = p_Var86;
            *(_Hash_node_base **)((int)&pOVar24->addend_ + 4) = p_Var52;
            (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
            super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
            ._M_impl._M_finish = pOVar46;
          }
          iVar59 = (int)pOVar46 -
                   (int)(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_
                        ).
                        super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                        ._M_impl._M_start >> 2;
          iVar47 = iVar59 * 0x38e38e39;
          if (((((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
               super_Output_data_reloc_generic).super_Output_section_data_build.
               super_Output_section_data.super_Output_data.field_0x1c & 2) != 0) {
            psVar82[-1] = iVar47;
            psVar82[-2] = (size_t)"set_current_data_size_for_child";
            psVar82[-3] = 0x231;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8c3da;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          *(int *)&(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
                   super_Output_data_reloc_generic).super_Output_section_data_build.
                   super_Output_section_data.super_Output_data.data_size_ = iVar59 * 0x55555558;
          *(undefined4 *)
           ((int)&(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
                  super_Output_data_reloc_generic).super_Output_section_data_build.
                  super_Output_section_data.super_Output_data.data_size_ + 4) = 0;
          puVar65 = &(pOVar87->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.field_0x1c;
          *puVar65 = *puVar65 | 0x10;
          if ((local_2c & 0x10000000) != 0) {
            psVar81 = &(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
                       super_Output_data_reloc_generic).relative_reloc_count_;
            *psVar81 = *psVar81 + 1;
          }
          if ((local_28 != 0xfffffffc) && (local_3c != (Powerpc_relobj<64,_false> *)0x0)) {
            fVar14 = ((_Prime_rehash_policy *)
                     &(local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.dyn_reloc_count_)->_M_max_load_factor;
            if (fVar14 == 0.0) {
              (local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
              super_Relobj.first_dyn_reloc_ = iVar47 - 1;
            }
            ((_Prime_rehash_policy *)
            &(local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
             super_Relobj.dyn_reloc_count_)->_M_max_load_factor = (float)((int)fVar14 + 1);
          }
          p_Var89 = p_Var89->_M_nxt;
          pOVar87 = this->brlt_section_;
          if (p_Var89 == (_Hash_node_base *)0x0) break;
          local_a8 = (pointer)pOVar87->rel_;
        }
      }
      bVar70 = (pOVar87->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.field_0x1c;
      if ((bVar70 & 2) == 0) {
        if ((bVar70 & 8) != 0) {
          psVar82[-1] = (size_t)p_Var89;
          psVar82[-2] = (size_t)"set_data_size";
          psVar82[-3] = 0x218;
          psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */
          psVar82[-5] = 0x8c265;
          gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
        }
        (pOVar87->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        field_0x1c = bVar70 | 2;
      }
      unaff_EBX = (undefined **)pOVar87->rel_;
      if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0) {
        pPVar49 = (Parameters *)
                  (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;
        psVar82[-4] = (size_t)unaff_EBX;
                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */
        pcVar12 = (code *)pPVar49[1].incremental_mode_;
        psVar82[-5] = 0x8b1c8;
        (*pcVar12)();
        if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0) {
          psVar82[-1] = (size_t)pOVar87;
          psVar82[-2] = (size_t)"finalize_data_size";
          psVar82[-3] = 0x163;
          psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
          psVar82[-5] = (size_t)&UNK_0008b1f4;
          gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
        }
      }
      goto LAB_0008af56;
    }
  }
  if (((pGVar51->emit_stub_syms_).user_set_via_option == false) ||
     ((pGVar51->emit_stub_syms_).value != false)) {
    local_104 = (this->stub_tables_).
                super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                ._M_impl._M_start;
    if (local_104 !=
        (this->stub_tables_).
        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
        ._M_impl._M_finish) {
      do {
        pSVar13 = *local_104;
        uVar84 = (pSVar13->plt_call_stubs_)._M_h._M_element_count;
        if (uVar84 != 0) {
          if (0x3fffffff < uVar84) {
            psVar82[-4] = (size_t)"vector::_M_default_append";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */
            psVar82[-5] = (size_t)&UNK_0008c2c5;
            std::__throw_length_error((char *)psVar82[-4]);
          }
          psVar82[-4] = uVar84 * 4;
                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */
          psVar82[-5] = 0x8b3de;
          puVar55 = (undefined4 *)operator_new(psVar82[-4]);
          puVar56 = puVar55;
          do {
            *puVar56 = 0;
            puVar56 = puVar56 + 1;
          } while (puVar56 != puVar55 + uVar84);
          for (p_Var89 = (pSVar13->plt_call_stubs_)._M_h._M_before_begin._M_nxt;
              p_Var89 != (_Hash_node_base *)0x0; p_Var89 = p_Var89->_M_nxt) {
            puVar55[(int)p_Var89[7]._M_nxt] = p_Var89;
          }
          local_dc = 0;
          if ((pSVar13->plt_call_stubs_)._M_h._M_element_count != 0) {
            do {
              __node_gen._M_h = __node_gen._M_h & 0xffffff00;
              iVar59 = puVar55[local_dc];
              if (*(int *)(iVar59 + 0xc) != 0 || *(int *)(iVar59 + 0x10) != 0) {
                psVar82[-2] = *(int *)(iVar59 + 0xc);
                psVar82[-3] = (size_t)&DAT_002f7061;
                psVar82[-4] = (size_t)&__node_gen;
                psVar82[-5] = 0x8b8bc;
                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);
              }
              status = status & 0xffffff00;
              if (*(int *)(iVar59 + 8) != 0) {
                psVar82[-2] = *(undefined4 *)(*(int *)(iVar59 + 8) + 0x13c);
                psVar82[-3] = (size_t)&DAT_002f7065;
                psVar82[-4] = (size_t)&status;
                psVar82[-5] = 0x8b4a9;
                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);
              }
              pSVar54 = *(Symbol **)(iVar59 + 4);
              if (pSVar54 == (Symbol *)0x0) {
                psVar82[-2] = *(undefined4 *)(iVar59 + 0x14);
                psVar82[-3] = (size_t)&DAT_002f7062;
                psVar82[-4] = (size_t)localname;
                psVar82[-5] = 0x8b955;
                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);
                pCVar91 = &status;
                pcVar58 = localname;
              }
              else {
                pSVar42 = pSVar13->targ_->tls_get_addr_opt_;
                if ((pSVar42 == (Symbol *)0x0) ||
                   ((pSVar13->targ_->tls_get_addr_ != pSVar54 && (pSVar54 != pSVar42)))) {
                  pCVar91 = &status;
                  pcVar58 = pSVar54->name_;
                }
                else {
                  pCVar91 = &status;
                  pcVar58 = pSVar42->name_;
                }
              }
              do {
                pCVar90 = pCVar91;
                uVar60 = *pCVar90 + 0xfefefeff & ~*pCVar90;
                uVar84 = uVar60 & 0x80808080;
                pCVar91 = pCVar90 + 1;
              } while (uVar84 == 0);
              bVar92 = (uVar60 & 0x8080) == 0;
              if (bVar92) {
                uVar84 = uVar84 >> 0x10;
              }
              if (bVar92) {
                pCVar91 = (Compute_final_value_status *)((int)pCVar90 + 6);
              }
              psVar82[-4] = (size_t)pcVar58;
              psVar82[-5] = 0x8b53f;
              sVar57 = strlen((char *)psVar82[-4]);
              p_Var67 = &__node_gen;
              do {
                p_Var66 = p_Var67;
                uVar37 = (uint)(p_Var66->_M_h + -0x1010101) & ~(uint)p_Var66->_M_h;
                uVar60 = uVar37 & 0x80808080;
                p_Var67 = p_Var66 + 1;
              } while (uVar60 == 0);
              bVar92 = (uVar37 & 0x8080) == 0;
              if (bVar92) {
                uVar60 = uVar60 >> 0x10;
              }
              if (bVar92) {
                p_Var67 = (__node_gen_type *)((int)&p_Var66[1]._M_h + 2);
              }
              psVar82[-4] = (int)pCVar91 +
                            (int)p_Var67 +
                            sVar57 + (-(int)&status - (uint)CARRY1((byte)uVar84,(byte)uVar84)) + 0xd
                            + (-(int)&__node_gen - (uint)CARRY1((byte)uVar60,(byte)uVar60));
                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */
              psVar82[-5] = 0x8b597;
              pvVar50 = operator_new__(psVar82[-4]);
              psVar82[-3] = (size_t)&__node_gen;
              psVar82[-4] = (size_t)pcVar58;
              psVar82[-5] = (size_t)&status;
              psVar82[-6] = pSVar13->uniq_;
              psVar82[-7] = (size_t)"%08x.plt_call.%s%s%s";
              psVar82[-8] = (size_t)pvVar50;
              psVar82[-9] = 0x8b5c7;
              sprintf((char *)psVar82[-8],(char *)psVar82[-7]);
              if (gold::parameters->options_ == (General_options *)0x0) {
                psVar82[-2] = (size_t)"options";
                psVar82[-3] = 0x5c;
                psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */
                psVar82[-5] = 0x8c10e;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
              if (uVar84 < 0x20) {
                uVar84 = 0x20;
              }
              if ((pSVar13->field_0x1c & 1) == 0) {
                psVar82[-2] = (size_t)"address";
                psVar82[-3] = 0xc5;
                psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = (size_t)&UNK_0008b624;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              uVar60 = *(uint *)((int)&pSVar13->invalid_address + 4);
              uVar75 = (uVar84 - 1) + uVar60;
              uVar78 = pSVar13->orig_data_size_ + uVar75 & -uVar84;
              uVar37 = *(uint *)(iVar59 + 0x18);
              iVar47 = *(int *)(iVar59 + 4);
              uVar79 = uVar78 - uVar60;
              uVar84 = (((((uVar84 != 0) - 1) + *(int *)&pSVar13->field_0x8 +
                          (uint)CARRY4(uVar84 - 1,uVar60) +
                          (uint)CARRY4(pSVar13->orig_data_size_,uVar75) & -(uint)(uVar84 != 0)) -
                        *(int *)&pSVar13->field_0x8) - (uint)(uVar78 < uVar60)) +
                       (uint)CARRY4(uVar79,uVar37);
              pTVar43 = pSVar13->targ_;
              if (iVar47 == 0) {
                piVar85 = *(int **)(iVar59 + 8);
                uVar60 = *(uint *)(iVar59 + 0x14);
                if ((uint)((piVar85[0x38] - piVar85[0x37] >> 2) * -0x33333333) <= uVar60) {
                  psVar82[-2] = (size_t)"local_symbol";
                  psVar82[-3] = 0x8c1;
                  psVar82[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
                  psVar82[-5] = 0x8c246;
                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                }
                if ((*(byte *)(piVar85[0x37] + 0xb + uVar60 * 0x14) & 0x40) == 0) {
                  pOVar80 = pTVar43->lplt_;
                }
                else {
                  pOVar80 = pTVar43->iplt_;
                  if (pOVar80 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                    psVar82[-1] = uVar60 * 5;
                    psVar82[-2] = (size_t)"iplt_section";
                    psVar82[-3] = 0x372;
                    psVar82[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */
                    psVar82[-5] = 0x8c3bb;
                    gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                  }
                }
                iVar47 = *piVar85;
                psVar82[-3] = uVar60;
                psVar82[-4] = (size_t)piVar85;
                pcVar12 = *(code **)(iVar47 + 0xa8);
                psVar82[-5] = 0x8b915;
                iVar47 = (*pcVar12)();
              }
              else {
                if ((*(byte *)(iVar47 + 0x28) & 0xf) == 10) {
                  if ((*(byte *)(iVar47 + 0x2a) & 7) == 0) goto LAB_0008b9a0;
                  if ((*(byte *)(iVar47 + 0x2a) & 7) != 4) {
                    while( true ) {
                      psVar82[-4] = iVar47;
                      psVar82[-5] = 0x8b982;
                      bVar92 = gold::Symbol::is_preemptible((Symbol *)psVar82[-4]);
                      if (bVar92) break;
                      pOVar80 = pTVar43->iplt_;
                      if (pOVar80 != (Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_0008b6e1;
                      psVar82[-1] = 0x8b99d;
                      iplt_section((Target_powerpc<64,_false> *)*psVar82);
                      pTVar43 = (Target_powerpc<64,_false> *)0x0;
LAB_0008b9a0:
                      if (((*(byte *)(*(int *)(iVar47 + 8) + 0x2c) & 1) != 0) ||
                         ((*(int *)(iVar47 + 0xc) == 0 && ((*(byte *)(iVar47 + 0x2b) & 0x20) != 0)))
                         ) break;
                    }
                  }
                }
                pOVar80 = pTVar43->plt_;
                if (pOVar80 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                  psVar82[-2] = (size_t)"plt_section";
                  psVar82[-3] = 0x36a;
                  psVar82[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */
                  psVar82[-5] = 0x8c2e9;
                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                }
LAB_0008b6e1:
                iVar47 = *(int *)(iVar47 + 0x18);
                if (iVar47 == -1) {
                  psVar82[-2] = (size_t)"plt_offset";
                  psVar82[-3] = 0x1ce;
                  psVar82[-4] = (size_t)"../../gold/symtab.h";
                    /* WARNING: Subroutine does not return */
                  psVar82[-5] = 0x8c12f;
                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                }
              }
              if (((pOVar80->super_Output_section_data_build).super_Output_section_data.
                   super_Output_data.field_0x1c & 1) == 0) {
                psVar82[-2] = (size_t)"address";
                psVar82[-3] = 0xc5;
                psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = 0x8c150;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              pTVar43 = pSVar13->targ_;
              if (pTVar43->got_ == (Output_data_got_powerpc<64,_false> *)0x0) {
                psVar82[-2] = (size_t)"got_section";
                psVar82[-3] = 0x3ae;
                psVar82[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = 0x8c171;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              pOVar45 = (pTVar43->got_->super_Output_data_got<64,_false>).super_Output_data_got_base
                        .super_Output_section_data_build.super_Output_section_data.output_section_;
              if (((pOVar45->super_Output_data).field_0x1c & 1) == 0) {
                psVar82[-2] = (size_t)"address";
                psVar82[-3] = 0xc5;
                psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */
                psVar82[-5] = 0x8c012;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              iVar47 = (iVar47 - (int)(pOVar45->super_Output_data).address_) + -0x8000 +
                       (int)(pOVar80->super_Output_section_data_build).super_Output_section_data.
                            super_Output_data.address_;
              uVar60 = iVar47 + 0x8000U >> 0x10;
              uVar75 = -(uint)(uVar60 == 0) & 0xfffffffc;
              iVar76 = uVar75 + 0x14;
              if ((pTVar43->tls_get_addr_opt_ != (Symbol *)0x0) &&
                 ((*(Symbol **)(iVar59 + 4) == pTVar43->tls_get_addr_ ||
                  (*(Symbol **)(iVar59 + 4) == pTVar43->tls_get_addr_opt_)))) {
                iVar76 = uVar75 + 0x48;
              }
              pGVar51 = gold::parameters->options_;
              if ((pTVar43->field_0x8 & 2) == 0) {
                if (pGVar51 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */
                  psVar82[-1] = 0x8c225;
                  Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);
                }
                uVar75 = (uint)(pGVar51->plt_static_chain_).value;
                iVar59 = (uVar75 + 1 + (uint)pTVar43->plt_thread_safe_ * 2) * 4;
                if (uVar60 != iVar47 + 0x8008 + uVar75 * 8 >> 0x10) {
                  iVar59 = iVar59 + 4;
                }
                iVar76 = iVar76 + iVar59;
              }
              else if (pGVar51 == (General_options *)0x0) {
                psVar82[-2] = (size_t)"options";
                psVar82[-3] = 0x5c;
                psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = (size_t)&UNK_0008b886;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              if ((pGVar51->plt_align_).user_set_via_option == false) {
                uVar60 = 0xffffffe0;
                iVar59 = 0x20;
              }
              else {
                iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
                uVar60 = -iVar59;
              }
              psVar82[-2] = 0;
              psVar82[-3] = uVar84 >> 0x1f;
              psVar82[-4] = 0;
              psVar82[-5] = 2;
              psVar82[-6] = 0;
              psVar82[-7] = 0;
              psVar82[-8] = 0;
              psVar82[-9] = uVar60 & iVar76 + -1 + iVar59;
              psVar82[-10] = uVar84;
              psVar82[-0xb] = uVar79 + uVar37;
              psVar82[-0xc] = (size_t)pSVar13;
              psVar82[-0xd] = 5;
              psVar82[-0xe] = 0;
              psVar82[-0xf] = (size_t)pvVar50;
              psVar82[-0x10] = (size_t)symtab;
              psVar82[-0x11] = 0x8b81a;
              pSVar54 = gold::Symbol_table::define_in_output_data
                                  ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],
                                   (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],
                                   *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),
                                   psVar82[-7],psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),
                                   *(bool *)(psVar82 + -3),*(bool *)(psVar82 + -2));
              pSVar54->dynsym_index_ = 0xffffffff;
              local_dc = local_dc + 1;
            } while (local_dc < (pSVar13->plt_call_stubs_)._M_h._M_element_count);
          }
          psVar82[-4] = (size_t)puVar55;
          psVar82[-5] = 0x8b84e;
          operator_delete((void *)psVar82[-4]);
        }
        for (p_Var89 = (pSVar13->long_branch_stubs_)._M_h._M_before_begin._M_nxt;
            p_Var89 != (_Hash_node_base *)0x0; p_Var89 = p_Var89->_M_nxt) {
          if (*(char *)&p_Var89[4]._M_nxt == '\0') {
            psVar82[-4] = 0x26;
                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8b00a;
            pvVar50 = operator_new__(psVar82[-4]);
            psVar82[-4] = (size_t)p_Var89[2]._M_nxt;
            psVar82[-5] = (size_t)p_Var89[1]._M_nxt;
            psVar82[-6] = pSVar13->uniq_;
            psVar82[-7] = (size_t)"%08x.long_branch.%llx";
            psVar82[-8] = (size_t)pvVar50;
            psVar82[-9] = 0x8b02f;
            sprintf((char *)psVar82[-8],(char *)psVar82[-7]);
            if (gold::parameters->options_ == (General_options *)0x0) {
              psVar82[-2] = (size_t)"options";
              psVar82[-3] = 0x5c;
              psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */
              psVar82[-5] = 0x8c0f0;
              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
            }
            uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
            if (uVar84 < 0x20) {
              uVar84 = 0x20;
            }
            if ((pSVar13->field_0x1c & 1) == 0) {
              psVar82[-2] = (size_t)"address";
              psVar82[-3] = 0xc5;
              psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
              psVar82[-5] = 0x8b090;
              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
            }
            uVar60 = *(uint *)((int)&pSVar13->invalid_address + 4);
            uVar37 = (uVar84 - 1) + uVar60;
            uVar78 = pSVar13->orig_data_size_ + uVar37 & -uVar84;
            p_Var86 = p_Var89[5]._M_nxt;
            uVar79 = ((uVar84 != 0) - 1) + *(int *)&pSVar13->field_0x8 +
                     (uint)CARRY4(uVar84 - 1,uVar60) + (uint)CARRY4(pSVar13->orig_data_size_,uVar37)
                     & -(uint)(uVar84 != 0);
            uVar84 = pSVar13->plt_size_ - uVar60;
            uVar37 = uVar84 + uVar78;
            uVar75 = (-(uint)(pSVar13->plt_size_ < uVar60) - *(int *)&pSVar13->field_0x8) + uVar79 +
                     (uint)CARRY4(uVar84,uVar78) + (uint)CARRY4(uVar37,(uint)p_Var86);
            uVar84 = 0x2000000 - pSVar13->last_plt_size_;
            uVar60 = uVar84 - uVar78;
            p_Var52 = (_Hash_node_base *)(uVar60 + (int)p_Var89[1]._M_nxt);
            iVar59 = (int)p_Var89[2]._M_nxt +
                     (((uint)CARRY4(uVar60,(uint)p_Var89[1]._M_nxt) +
                      ((-uVar79 - (uint)(0x2000000 < pSVar13->last_plt_size_)) -
                      (uint)(uVar84 < uVar78))) - (uint)(p_Var52 < p_Var86));
            uVar53 = 4;
            if (iVar59 != 0 ||
                (uint)-iVar59 < (uint)(0x3ffffff < (uint)((int)p_Var52 - (int)p_Var86))) {
              uVar53 = 0x10;
            }
            psVar82[-2] = 0;
            psVar82[-3] = uVar75 >> 0x1f;
            psVar82[-4] = 0;
            psVar82[-5] = 2;
            psVar82[-6] = 0;
            psVar82[-7] = 0;
            psVar82[-8] = 0;
            psVar82[-9] = uVar53;
            psVar82[-10] = uVar75;
            psVar82[-0xb] = uVar37 + (int)p_Var86;
            psVar82[-0xc] = (size_t)pSVar13;
            psVar82[-0xd] = 5;
            psVar82[-0xe] = 0;
            psVar82[-0xf] = (size_t)pvVar50;
            psVar82[-0x10] = (size_t)symtab;
            psVar82[-0x11] = 0x8b31a;
            pSVar54 = gold::Symbol_table::define_in_output_data
                                ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],
                                 (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],
                                 *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),
                                 psVar82[-7],psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),
                                 *(bool *)(psVar82 + -3),*(bool *)(psVar82 + -2));
            pSVar54->dynsym_index_ = 0xffffffff;
          }
        }
        local_104 = local_104 + 1;
      } while ((this->stub_tables_).
               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
               ._M_impl._M_finish != local_104);
    }
    pOVar28 = this->glink_;
    if (pOVar28 != (Output_data_glink<64,_false> *)0x0) {
      uVar53 = 0x2c;
      if ((pOVar28->targ_->field_0x8 & 2) != 0) {
        uVar53 = 0x38;
      }
      psVar82[-2] = 0;
      psVar82[-3] = 0;
      psVar82[-4] = 0;
      psVar82[-5] = 2;
      psVar82[-6] = 0;
      psVar82[-7] = 0;
      psVar82[-8] = 0;
      psVar82[-9] = uVar53;
      psVar82[-10] = 0;
      psVar82[-0xb] = 8;
      psVar82[-0xc] = (size_t)pOVar28;
      psVar82[-0xd] = 5;
      psVar82[-0xe] = 0;
      psVar82[-0xf] = (size_t)"__glink_PLTresolve";
      psVar82[-0x10] = (size_t)symtab;
      psVar82[-0x11] = 0x8b3a7;
      pSVar54 = gold::Symbol_table::define_in_output_data
                          ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],
                           (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],
                           *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),psVar82[-7],
                           psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),*(bool *)(psVar82 + -3),
                           *(bool *)(psVar82 + -2));
      pSVar54->dynsym_index_ = 0xffffffff;
    }
  }
LAB_0008ad00:
  local_10c = &os_need_update;
  psVar82[-4] = (size_t)local_10c;
  psVar82[-5] = 0x8ad0e;
  std::
  _Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>
  ::~_Hashtable((_Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>
                 *)psVar82[-4],psVar82[-3]);
  return local_fc;
}



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

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

{
  undefined4 *****pppppuVar1;
  undefined4 *****pppppuVar2;
  code *pcVar3;
  undefined4 ******ppppppuVar4;
  undefined4 ****ppppuVar5;
  undefined4 ***pppuVar6;
  char cVar7;
  undefined4 ******ppppppuVar8;
  undefined4 uVar9;
  undefined4 *******pppppppuVar10;
  undefined4 ******ppppppuVar11;
  int iVar12;
  int *piVar13;
  undefined4 *****pppppuVar14;
  size_t sVar15;
  undefined4 *******pppppppuVar16;
  undefined4 ****ppppuVar17;
  char *pcVar18;
  int iVar19;
  uint uVar20;
  undefined2 *puVar21;
  int iVar22;
  undefined *puVar23;
  undefined8 **ppuVar24;
  undefined8 **ppuVar25;
  undefined4 *****pppppuVar26;
  byte bVar27;
  undefined4 *puVar28;
  undefined4 ******ppppppuVar29;
  undefined4 *******pppppppuVar30;
  undefined4 ******ppppppuVar31;
  uint uVar32;
  undefined4 *******unaff_EBX;
  undefined4 ******ppppppuVar33;
  undefined4 *****pppppuVar34;
  undefined1 *puVar35;
  undefined1 *puVar36;
  undefined1 *puVar37;
  undefined1 *puVar38;
  uint uVar39;
  int *piVar40;
  bool bVar41;
  byte bVar42;
  undefined8 uVar43;
  longlong lVar44;
  longlong lVar45;
  undefined1 auStack_14c [12];
  undefined4 *****local_140;
  undefined4 ******local_13c;
  undefined4 ******local_138;
  undefined4 ******local_134;
  uint local_130;
  undefined4 ******local_12c;
  uint local_128;
  bool local_121;
  undefined4 ******local_120;
  undefined4 ******local_11c;
  uint local_118;
  undefined4 ******local_114;
  undefined4 ******local_110;
  undefined4 ******local_10c;
  undefined4 ******local_108;
  undefined4 *local_104;
  uint local_100;
  undefined4 ******local_fc;
  undefined4 ******local_f8;
  undefined4 ******local_f4;
  uint local_f0;
  undefined4 *****local_ec;
  uint local_e8;
  undefined4 ******local_e4;
  undefined4 ****local_e0;
  undefined8 local_dc;
  uint local_d4;
  uint local_d0;
  undefined8 local_cc;
  undefined4 ******local_c4;
  uint local_c0;
  undefined4 ******local_bc;
  int local_b8;
  undefined8 local_b4;
  undefined4 ******local_ac;
  undefined4 ******local_a8;
  undefined1 local_a4 [8];
  undefined1 local_9c [8];
  char local_94 [4];
  undefined4 ******local_90;
  undefined4 ******local_8c;
  char local_88;
  undefined1 local_84 [4];
  char local_80;
  undefined4 *****local_71 [2];
  undefined8 *local_68 [3];
  undefined8 local_5c;
  undefined4 ******local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 ******local_40;
  undefined4 ******local_3c;
  undefined4 ******local_38;
  undefined4 ******local_34;
  undefined4 ******local_30;
  undefined4 ******local_2c;
  undefined4 ****local_28;
  undefined4 ****local_24;
  undefined4 ****local_20;
  
  puVar35 = auStack_14c;
  local_ac = (undefined4 ******)&__DT_PLTGOT;
  if (param_2 == 1) {
    local_c4 = (undefined4 ******)&DAT_004144e8;
    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);
    if ((*(byte *)(param_1 + 8) & 2) == 0) {
      local_ac = (undefined4 ******)&__DT_PLTGOT;
      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;
      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);
      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&
         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {
        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);
        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;
        pcVar18 = "pthread_create";
        local_c4 = (undefined4 ******)&DAT_004144e8;
        while( true ) {
          unaff_EBX = (undefined4 *******)local_ac;
          iVar19 = FUN_001e9100(param_4,pcVar18,0);
          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&
             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {
            pppppuVar26 = (undefined4 *****)(*local_c4)[2];
            goto LAB_0008b0b0;
          }
          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;
          pcVar18 = (char *)*local_a8;
          local_a8 = local_a8 + 1;
        }
        pppppuVar26 = (undefined4 *****)(*local_c4)[2];
        bVar42 = (byte)local_b4;
        goto LAB_0008b0b0;
      }
      ppppuVar17 = pppppuVar26[0xe2a];
      *(char *)(param_1 + 0x9c) = cVar7;
      local_c4 = (undefined4 ******)&DAT_004144e8;
      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;
LAB_0008b0d5:
      if (ppppuVar17 == (undefined4 ****)0xffffffff) {
        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;
      }
      else {
        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;
      }
    }
    else {
      local_c4 = (undefined4 ******)&DAT_004144e8;
      local_ac = (undefined4 ******)&__DT_PLTGOT;
      bVar42 = 0;
LAB_0008b0b0:
      *(byte *)(param_1 + 0x9c) = bVar42;
      puVar35 = auStack_14c;
      if (pppppuVar26 == (undefined4 *****)0x0) {
LAB_0008c0b4:
        ppppppuVar31 = local_ac;
        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
        *(undefined4 *)(puVar35 + -0xc) = 0x5c;
        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;
        FUN_000da200();
      }
      ppppuVar17 = pppppuVar26[0xe2a];
      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;
LAB_0008bbcb:
      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;
    }
    FUN_0006f600();
    puVar28 = *(undefined4 **)(param_1 + 0x4c);
    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {
LAB_00088eb5:
      puVar38 = auStack_14c;
      puVar37 = auStack_14c;
      puVar35 = auStack_14c;
      local_a8 = (undefined4 ******)*puVar28;
      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];
      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];
      puVar36 = auStack_14c;
      if (ppppppuVar31 <
          (undefined4 ******)
          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {
        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]
            ) != 0xffffffff) {
          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);
          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);
          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];
          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];
          do {
            unaff_EBX = (undefined4 *******)local_a8;
            local_b8 = 0;
            ppppppuVar31 = (undefined4 ******)local_a8[8];
            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);
            local_c0 = (int)local_b4._4_4_ +
                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);
            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);
            if (*(char *)(local_a8 + 0x23) != '\0') {
              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];
              if (((uint)pppppuVar26[7] & 2) == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);
              }
              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);
              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);
              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;
            }
            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {
              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;
              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);
              if (uVar39 < 0x20) {
                uVar39 = 0x20;
              }
              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);
              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);
              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);
            }
            ppppppuVar11 = (undefined4 ******)local_a8[0x22];
            ppppppuVar8 = (undefined4 ******)
                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));
            ppppppuVar29 = (undefined4 ******)
                           (((local_b8 - (int)local_b4._4_4_) -
                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +
                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,
                                        (uint)local_c4));
            ppppppuVar33 = (undefined4 ******)local_a8[0x21];
            if (ppppppuVar11 < ppppppuVar29 ||
                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)
               ) {
              ppppppuVar33 = ppppppuVar8;
              ppppppuVar11 = ppppppuVar29;
            }
            bVar42 = *(byte *)(local_a8 + 7);
            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;
            if ((bVar42 & 8) == 0) {
              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;
            }
            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;
            pppppuVar26 = ppppppuVar31[7];
            local_a8[3] = ppppppuVar33;
            local_a8[4] = ppppppuVar11;
            if (((uint)pppppuVar26 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);
            }
            pppppuVar14 = ppppppuVar31[5];
            pppppuVar34 = ppppppuVar31[6];
            puVar36 = auStack_14c;
            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;
            pppppuVar26 = ppppppuVar31[1];
            pppppuVar1 = ppppppuVar31[1];
            pppppuVar2 = ppppppuVar31[2];
            local_a8[5] = (undefined4 ******)
                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);
            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);
            local_a8[2] = (undefined4 ******)
                          ((int)local_b4._4_4_ + (int)pppppuVar2 +
                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));
            local_a8[6] = (undefined4 ******)
                          ((int)local_b4._4_4_ + (int)pppppuVar34 +
                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));
            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;
            (*(code *)(*local_a8)[0xe])(local_a8);
            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;
            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);
            if (pppppppuVar10 == (undefined4 *******)local_cc) {
              if (param_2 != 1) goto LAB_00089837;
              local_120 = (undefined4 *******)0x0;
              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);
              goto LAB_00089172;
            }
            local_a8 = *(undefined4 *******)local_cc;
            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];
            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];
            puVar36 = auStack_14c;
            if ((undefined4 ******)
                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=
                ppppppuVar31) goto LAB_0008bf9d;
            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];
            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];
            local_cc._0_4_ = (undefined4 *******)local_cc + 1;
          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);
        }
                    /* WARNING: Subroutine does not return */
        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);
      }
LAB_0008bf9d:
      ppppppuVar31 = local_ac;
      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;
      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;
      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;
      FUN_000da200();
    }
    local_120 = (undefined4 *******)0x0;
LAB_0008b10a:
    local_110 = (undefined4 *******)0x0;
    iVar19 = 0;
    *(undefined1 *)(param_1 + 0xa1) = 0;
  }
  else {
    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;
    if ((*(char *)(param_1 + 0xa1) != '\0') &&
       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {
      local_ac = (undefined4 ******)&__DT_PLTGOT;
      FUN_000a8e50(param_1 + 0x58);
      piVar13 = *(int **)(param_1 + 0x4c);
      if (piVar13 != *(int **)(param_1 + 0x50)) {
        do {
          iVar19 = *piVar13;
          piVar13 = piVar13 + 1;
          FUN_0004ebf0();
          *(undefined4 *)(iVar19 + 0x74) = 0;
          FUN_0004eb90();
          *(undefined4 *)(iVar19 + 0x7c) = 0;
          *(undefined1 *)(iVar19 + 0x8c) = 0;
          *(undefined4 *)(iVar19 + 0x78) = 0;
          *(undefined4 *)(iVar19 + 0x80) = 0;
        } while (*(int **)(param_1 + 0x50) != piVar13);
        if (piVar13 != *(int **)(param_1 + 0x4c)) {
          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);
        }
      }
      iVar19 = *(int *)(param_1 + 0xa8);
      iVar22 = iVar19 + 3;
      if (-1 < iVar19) {
        iVar22 = iVar19;
      }
      iVar19 = (iVar22 >> 2) * 3;
      *(int *)(param_1 + 0xa8) = iVar19;
      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];
      uVar9 = gettext(local_ac + -0x47247);
      unaff_EBX = (undefined4 *******)local_ac;
      FUN_000d1390(uVar9,ppppppuVar31,iVar19);
      FUN_0006f600();
      ppppppuVar31 = local_ac;
    }
    local_ac = ppppppuVar31;
    puVar28 = *(undefined4 **)(param_1 + 0x4c);
    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;
LAB_00089837:
    local_120 = *(undefined4 *******)(param_1 + 100);
    FUN_000a8e50(param_1 + 0x58);
    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);
    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;
    do {
      unaff_EBX = (undefined4 *******)*pppppppuVar16;
      pppppppuVar16 = pppppppuVar16 + 1;
      FUN_0004ebf0();
      unaff_EBX[0x1d] = (undefined4 ******)0x0;
      FUN_0004eb90();
      unaff_EBX[0x1f] = (undefined4 ******)0x0;
      *(undefined1 *)(unaff_EBX + 0x23) = 0;
      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);
    } while (pppppppuVar10 != pppppppuVar16);
    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);
LAB_00089172:
    local_110 = (undefined4 *******)0x0;
    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;
    *(undefined1 *)(param_1 + 0xa1) = 0;
    if (pppppppuVar16 != pppppppuVar10) {
      local_110 = *pppppppuVar16;
    }
  }
  puVar35 = auStack_14c;
  puVar36 = auStack_14c;
  local_fc = (undefined4 *******)0x0;
  if (iVar19 == 4) {
    local_fc = local_110;
  }
  local_114 = local_ac + 0x13a;
  local_a8 = *(undefined4 *******)(param_1 + 0x74);
  local_f8 = local_114;
  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {
    do {
      pppppppuVar10 = (undefined4 *******)local_ac;
      ppppppuVar31 = (undefined4 ******)*local_a8;
      ppppppuVar11 = (undefined4 ******)local_a8[5];
      puVar35 = puVar36;
      if (ppppppuVar11 < ppppppuVar31[0x2c]) {
        local_c4 = local_114;
        pppppuVar26 = (undefined4 *****)(*local_114)[3];
        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;
LAB_000899b9:
        pppppppuVar10 = unaff_EBX;
        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];
        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&
           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;
LAB_000899d1:
        pppppppuVar10 = (undefined4 *******)local_ac;
        pppppppuVar16 = (undefined4 *******)0x0;
        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;
        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;
        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;
        cVar7 = FUN_001283f0();
        if (cVar7 != '\0') goto LAB_00089ed0;
LAB_000899ee:
        local_b4._0_4_ = (undefined4 *******)local_a8[4];
        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;
        if (uVar39 - 0xb < 3) {
          local_f4 = (undefined4 *******)0x8000;
        }
        else {
          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&
             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;
          local_f4 = (undefined4 *******)0x2000000;
        }
        local_f0 = 0;
        local_b4._0_4_ = (undefined4 *******)*local_a8;
        ppppppuVar31 = (undefined4 ******)local_a8[1];
        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];
        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)
            <= ppppppuVar31) goto LAB_0008bf9d;
        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];
        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];
        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {
          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;
          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;
          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;
          FUN_000da200();
        }
        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);
        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];
        if (pppppppuVar10 == unaff_EBX) {
          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];
          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=
              ppppppuVar31) {
LAB_0008c314:
            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;
            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;
            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;
            FUN_000da200();
          }
          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];
        }
        else {
          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;
          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;
          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;
          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();
        }
        ppppppuVar11 = local_ac;
        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;
        local_cc._4_4_ = ppppppuVar31[2];
        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];
        local_dc._4_4_ = (undefined4 ******)local_a8[3];
        local_dc._0_4_ = (undefined4 *******)local_a8[2];
        if (pppppppuVar16 == (undefined4 *******)0x0) {
          ppppppuVar31 = (undefined4 ******)*local_a8;
          ppppppuVar33 = (undefined4 ******)local_a8[5];
          pppppuVar14 = ppppppuVar31[0x37];
          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)
              <= ppppppuVar33) {
            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;
            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;
            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;
            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;
            FUN_000da200();
          }
          local_40 = (undefined4 *******)0x0;
          local_3c = (undefined4 *******)0xffffffff;
          local_38 = (undefined4 *******)0x80000000;
          local_34 = (undefined4 *******)0x0;
          local_30 = (undefined4 *******)0x0;
          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {
            local_38 = (undefined4 *******)0x90000000;
          }
          local_bc = &local_40;
          *(undefined4 *)(puVar36 + -0x10) = param_4;
          *(undefined4 *******)(puVar36 + -0x14) = local_bc;
          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;
          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;
          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;
                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */
          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;
          iVar19 = FUN_001290d0();
          ppppppuVar31 = local_a8;
          if ((iVar19 != 0) || (-1 < (int)local_38)) {
            *(undefined4 *******)(puVar36 + -0x10) = local_bc;
            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;
            FUN_000aa480();
            unaff_EBX = (undefined4 *******)ppppppuVar11;
            goto LAB_00089370;
          }
          *(undefined4 *)(puVar36 + -4) = 0;
          *(undefined4 *)(puVar36 + -8) = 0;
          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;
          *(undefined4 *******)(puVar36 + -0x10) = local_bc;
          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;
          lVar44 = FUN_000a9940();
          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);
          *(undefined4 *******)(puVar36 + -0x10) = local_bc;
          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);
          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;
          local_a8 = ppppppuVar31;
          FUN_000aa480();
LAB_00089b5e:
          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);
          local_108 = (undefined4 ******)
                      ((int)local_a8[7] +
                      (int)((ulonglong)local_5c >> 0x20) +
                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));
          local_5c = CONCAT44(local_108,local_10c);
          local_b4._0_4_ = (undefined4 *******)local_fc;
          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {
            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];
            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {
              pppppuVar34 = (undefined4 *****)(*local_c4)[3];
              if (pppppuVar34 == (undefined4 *****)0x0) {
LAB_0008c3f9:
                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;
                FUN_000534d0();
                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe
                        */
                uVar39 = FUN_0002e11a();
                return uVar39;
              }
              ppppuVar17 = pppppuVar14[(int)local_a8[1]];
              if (ppppuVar17 <
                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {
                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];
              }
            }
            else {
            }
          }
          local_5c._0_4_ = (undefined4 *******)local_10c;
          local_5c._4_4_ = (undefined4 *******)local_108;
          if (((uint)pppppuVar26[2] & 2) == 0) {
            *(undefined4 *******)(puVar36 + -8) = local_bc;
            *(undefined8 **)(puVar36 + -0xc) = &local_5c;
            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;
            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;
            cVar7 = FUN_00088b60();
            unaff_EBX = (undefined4 *******)0x0;
            if (cVar7 == '\0') goto LAB_00089370;
          }
          pppppppuVar10 = (undefined4 *******)local_b4;
          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,
                          (uint)(undefined4 *******)local_cc);
          local_cc._0_4_ =
               (undefined4 *******)
               ((int)(undefined4 *******)local_dc + (int)local_e4 +
               (int)(undefined4 *******)local_cc);
          local_cc._4_4_ =
               (undefined4 *****)
               ((undefined *)
                ((int)local_dc._4_4_ +
                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +
                (int)local_cc._4_4_ + bVar41);
          pppppppuVar30 =
               (undefined4 *******)
               ((int)local_5c._4_4_ +
               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,
                            (uint)(undefined4 *******)local_5c) +
               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))
          ;
          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);
          local_10c = (undefined4 *******)local_5c;
          local_108 = local_5c._4_4_;
          if (unaff_EBX <= pppppppuVar30 &&
              (uint)((undefined *)
                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +
                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=
              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {
            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {
              ppppppuVar31 = (undefined4 ******)*local_a8;
              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];
              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {
                *(undefined4 ******)(puVar36 + -8) = local_a8[1];
                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;
                *(undefined4 *******)(puVar36 + -0x10) = local_bc;
                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;
                FUN_000b1290();
              }
              else {
                *(undefined4 ******)(puVar36 + -8) = local_a8[1];
                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;
                *(undefined4 *******)(puVar36 + -0x10) = local_bc;
                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;
                (*(code *)pppppppuVar10)();
              }
              ppppppuVar31 = local_40;
              pppppuVar26 = (undefined4 *****)(*local_a8)[1];
              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;
              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;
              uVar9 = gettext();
              unaff_EBX = (undefined4 *******)local_ac;
              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;
              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;
              *(undefined4 *)(puVar36 + -0x14) = uVar9;
                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */
              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;
              FUN_000d1360();
              puVar35 = puVar36 + -4;
              if ((undefined4 *******)local_40 != &local_38) {
                *(undefined4 *******)(puVar36 + -0x14) = local_40;
                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;
                FUN_00248220();
                puVar35 = puVar36 + -4;
              }
            }
            else {
              if (pppppppuVar16 == (undefined4 *******)0x0) {
                local_121 = false;
              }
              else {
                local_121 = false;
                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {
                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];
                }
              }
              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);
              local_dc._0_4_ = (undefined4 *******)local_a8[4];
              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;
              local_e4 = ((undefined4 *******)local_b4)[0x1f];
              *(undefined4 *)(puVar36 + -0x10) = 0x1c;
              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;
              ppppppuVar11 = (undefined4 ******)FUN_00246670();
              local_38 = (undefined4 *******)0x8000;
              *ppppppuVar11 = (undefined4 *****)0x0;
              local_3c = local_108;
              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);
              ppppppuVar11[2] = local_108;
              ppppppuVar11[1] = local_10c;
              ppppppuVar11[4] = local_34;
              ppppppuVar11[3] = (undefined4 *****)0x8000;
              ppppppuVar11[5] = local_e4;
              local_40 = local_10c;
              ppppppuVar31 = pppppppuVar10[0x16];
              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);
              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;
              *(undefined4 *******)(puVar36 + -0x10) = local_f4;
              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;
              local_b4._0_4_ = pppppppuVar10;
              piVar13 = (int *)FUN_0004df50();
              unaff_EBX = (undefined4 *******)local_ac;
              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {
                local_12c = ((undefined4 *******)local_b4)[0x1a];
                *(undefined4 *)(puVar36 + -0x10) = 1;
                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];
                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;
                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;
                *(char **)(puVar36 + -0x20) = local_94;
                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;
                FUN_0028d8d0();
                puVar35 = puVar36 + -4;
                local_dc._0_4_ = (undefined4 *******)local_90;
                if (local_94[0] == '\0') {
                  local_12c = ((undefined4 *******)local_b4)[0x15];
                }
                else {
                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {
                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;
                    local_138 = (undefined4 *******)local_b4 + 0x1b;
                    local_12c = local_138;
                  }
                  else {
                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */
                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;
                    local_12c = (undefined4 ******)FUN_00053420();
                    local_138 = (undefined4 *******)local_b4 + 0x1b;
                  }
                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];
                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;
                  if (ppppppuVar31 != (undefined4 ******)0x0) {
                    local_134 = (undefined4 *******)local_b4 + 0x17;
                    local_130 = 0;
                    local_13c = local_a8;
                    do {
                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;
                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;
                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);
                      if (*pppppppuVar10 == (undefined4 ******)0x0) {
                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];
                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;
                        *pppppppuVar10 = local_134;
                        if (*ppppppuVar31 != (undefined4 *****)0x0) {
                          local_12c[local_130] = ppppppuVar31;
                        }
                      }
                      else {
                        *ppppppuVar31 = **pppppppuVar10;
                        **pppppppuVar10 = ppppppuVar31;
                        uVar39 = local_130;
                      }
                      local_130 = uVar39;
                      ppppppuVar31 = ppppppuVar33;
                      local_140 = ppppppuVar11;
                    } while (ppppppuVar33 != (undefined4 ******)0x0);
                  }
                  if (((undefined4 *******)local_b4)[0x15] != local_138) {
                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];
                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;
                    FUN_00248220();
                  }
                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;
                  ((undefined4 *******)local_b4)[0x15] = local_12c;
                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;
                }
                pppppppuVar10 = (undefined4 *******)local_b4;
                unaff_EBX = (undefined4 *******)(uVar39 * 4);
                ppppppuVar11[6] = local_f4;
                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {
                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];
                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;
                  if (*ppppppuVar11 == (undefined4 *****)0x0) {
                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];
                  }
                  else {
                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];
                    ppppppuVar31
                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =
                         ppppppuVar11;
                  }
                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =
                       (undefined4 *******)local_b4 + 0x17;
                }
                else {
                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];
                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;
                }
                ((undefined4 *******)local_b4)[0x18] =
                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);
                if (local_121 == false) {
                  *(undefined4 *)(puVar36 + -8) = 0x8be14;
                  uVar43 = FUN_00056b90();
                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];
                  local_dc._4_4_ = (undefined4 ******)0x0;
                  pppppuVar26 = (undefined4 *****)
                                ((0x2000000U - (int)(undefined4 *******)local_dc) +
                                (int)ppppppuVar11[1]);
                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];
                  unaff_EBX = (undefined4 *******)
                              ((int)ppppppuVar11[2] +
                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,
                                               (uint)ppppppuVar11[1]) -
                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc
                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -
                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));
                  if (unaff_EBX == (undefined4 *******)0x0 &&
                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {
                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;
                  }
                  else {
                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;
                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];
                    pppppuVar26 = ppppppuVar31[0x19];
                    *(undefined4 *******)(puVar36 + -8) = local_bc;
                    *(undefined4 *)(puVar36 + -0xc) = 0;
                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);
                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;
                    *(undefined1 **)(puVar36 + -0x14) = local_9c;
                    local_40 = local_10c;
                    local_3c = local_108;
                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;
                    FUN_000b09c0();
                    puVar35 = puVar36 + -8;
                  }
                }
                else {
                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;
                  puVar35 = puVar36 + -4;
                }
              }
              else {
                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;
                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;
                FUN_00248220();
              }
              if (local_128 - 0xb < 3) {
                uVar39 = 0x8000;
              }
              else {
                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))
                goto LAB_00089370;
                uVar39 = 0x2000000;
              }
              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {
LAB_0008c2e9:
                ppppppuVar31 = local_ac;
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;
                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;
                FUN_000da200();
              }
              *(undefined4 *)(puVar35 + -4) = 0x89d6b;
              lVar44 = FUN_00056b90();
              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -
                                         (int)local_cc._4_4_) +
                                         (uint)CARRY4((int)local_e4 -
                                                      (int)(undefined4 *******)local_cc,uVar39),
                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +
                                         uVar39);
              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);
              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {
                ppppppuVar31 = (undefined4 ******)*local_c4;
                puVar36 = puVar35;
                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;
                goto LAB_0008a2be;
              }
            }
          }
        }
        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {
          ppppppuVar31 = pppppppuVar16[2];
          if (((uint)ppppppuVar31[0xb] & 1) == 0) {
            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];
            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {
              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;
              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;
              iVar19 = (*(code *)pppppppuVar10)();
              unaff_EBX = (undefined4 *******)ppppppuVar11;
              if (iVar19 != 0) goto LAB_00089370;
              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {
                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;
                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;
                *(undefined4 *)(puVar36 + -0xc) = 0xaa;
                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;
                FUN_000da200();
              }
            }
            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;
            unaff_EBX = (undefined4 *******)0x0;
          }
        }
        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {
LAB_00089b0f:
          unaff_EBX = (undefined4 *******)local_ac;
          local_bc = &local_40;
          *(undefined4 *******)(puVar36 + -8) = local_bc;
          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;
          *(undefined4 *)(puVar36 + -0x10) = param_4;
          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;
          lVar44 = FUN_001eb810();
          local_5c = lVar44;
          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {
            local_5c = lVar44 + (ulonglong)
                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);
            goto LAB_00089b5e;
          }
        }
      }
      else {
        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];
        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];
        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {
          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;
          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;
          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;
          FUN_000da200();
        }
        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];
        local_c4 = local_f8;
        pppppuVar26 = (undefined4 *****)(*local_f8)[3];
        if (pppppuVar26 == (undefined4 *****)0x0) {
LAB_0008c096:
          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;
          *(undefined4 *)(puVar36 + -0xc) = 0x73;
          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;
          FUN_000da200();
        }
        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;
        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {
          pppppppuVar10 = unaff_EBX;
          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&
             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {
            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];
          }
        }
        else {
          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;
          *(undefined4 *)(puVar36 + -0x10) = param_4;
          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;
          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();
          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];
          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||
              (pppppppuVar16 == (undefined4 *******)0x0)) &&
             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {
            ppppppuVar31 = (undefined4 ******)*local_a8;
            ppppppuVar11 = (undefined4 ******)local_a8[5];
            goto LAB_000899d1;
          }
        }
LAB_00089257:
        local_b4._0_4_ = (undefined4 *******)local_a8[4];
        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {
                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar39 = (*(code *)((int)local_ac +
                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -
                                           0x49f43]))();
          return uVar39;
        }
        uVar9 = 0;
        if (((uint)pppppuVar26[2] & 2) == 0) {
          uVar9 = 0x10;
        }
        *(undefined4 *)(puVar36 + -0xc) = uVar9;
        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;
        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;
        cVar7 = FUN_000a7d80();
        if (cVar7 == '\0') goto LAB_000899ee;
        if (((uint)pppppuVar26[2] & 2) != 0) {
          pppppuVar14 = (undefined4 *****)(*local_c4)[2];
          if (pppppuVar14 != (undefined4 *****)0x0) {
            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||
               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;
            local_b4._0_4_ = (undefined4 *******)local_a8[4];
            *(undefined4 *)(puVar36 + -4) = 0x89306;
            uVar9 = FUN_00051ac0();
            if ((char)uVar9 != '\0') goto LAB_00089ed0;
            ppppuVar17 = pppppuVar26[10];
            if (ppppuVar17 == (undefined4 ****)0x0) {
              *(undefined4 *)(puVar36 + -4) = uVar9;
              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;
              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;
              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;
              FUN_000da200();
            }
            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {
              uVar39 = 0xffffffe0;
              iVar19 = 0x20;
            }
            else {
              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);
              uVar39 = -iVar19;
            }
            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);
            *(undefined4 ********)(puVar36 + -4) = &local_40;
            *(undefined4 *)(puVar36 + -8) = 0;
            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;
            *(undefined1 **)(puVar36 + -0x10) = local_84;
            *(undefined4 *)(puVar36 + -0x14) = 0x89359;
            local_40 = pppppppuVar16;
            local_3c = unaff_EBX;
            FUN_000b03a0();
            puVar35 = puVar36 + -4;
            if (local_80 != '\0') {
              ppppuVar17[0x14] = unaff_EBX + 4;
              unaff_EBX = unaff_EBX + 4;
              puVar35 = puVar36 + -4;
            }
            goto LAB_00089370;
          }
          goto LAB_0008c0b4;
        }
LAB_00089ed0:
        ppppppuVar31 = (undefined4 ******)*local_a8;
        ppppppuVar11 = (undefined4 ******)local_a8[1];
        pppppppuVar10 = (undefined4 *******)local_fc;
        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {
          if (ppppppuVar11 <
              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {
            pppppuVar26 = (undefined4 *****)(*local_c4)[3];
            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;
            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];
            if ((ppppuVar17 <
                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&
               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],
               pppppppuVar10 = (undefined4 *******)local_b4,
               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;
          }
          pppppppuVar10 = (undefined4 *******)local_110;
          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;
        }
LAB_00089eef:
        local_b4._0_4_ = pppppppuVar10;
        pppppuVar26 = ppppppuVar31[0x21];
        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)
        goto LAB_0008bf9d;
        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];
        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];
        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {
          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];
          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {
            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=
                ppppppuVar11) goto LAB_0008c314;
            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];
          }
          else {
            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;
            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;
            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;
            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();
          }
          if (((uint)ppppuVar17[7] & 1) == 0) {
LAB_0008bf5b:
            ppppppuVar31 = local_ac;
            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;
            *(undefined4 *)(puVar36 + -0xc) = 0xc5;
            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;
            FUN_000da200();
          }
          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);
          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);
          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);
          local_cc._4_4_ =
               (undefined4 *****)
               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +
               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);
        }
        local_10c = (undefined4 ******)local_a8[6];
        unaff_EBX = (undefined4 *******)local_a8[7];
        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))
        ;
        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];
        uVar39 = (uint)local_a8[4] & 0x7fffffff;
        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];
        puVar38 = puVar36;
        local_108 = unaff_EBX;
        local_38 = local_10c;
        local_34 = unaff_EBX;
        local_2c = (undefined4 *******)local_dc;
        if (pppppppuVar16 == (undefined4 *******)0x0) {
          local_f4 = (undefined4 ******)local_a8[5];
          pppppppuVar10 = (undefined4 *******)*local_a8;
          local_40 = (undefined4 *******)0x0;
          local_bc = &local_40;
          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);
          *(undefined4 *)(puVar36 + -4) = 0x8a382;
          local_3c = pppppppuVar10;
          local_30 = local_f4;
          FUN_000553c0();
          unaff_EBX = (undefined4 *******)local_8c;
          if (local_88 != '\0') {
            *(undefined4 *)(puVar36 + -4) = 0x8adcd;
            iVar19 = FUN_00065740();
            ((undefined4 *******)local_b4)[0x1d] =
                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);
            pppppuVar26 = (undefined4 *****)(*local_c4)[2];
            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;
            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {
              uVar20 = 0xffffffe0;
              iVar22 = 0x20;
            }
            else {
              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);
              uVar20 = -iVar22;
            }
            ((undefined4 *******)local_b4)[0x1d] =
                 (undefined4 ******)
                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);
            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&
                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&
               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {
              ppppppuVar31 = pppppppuVar10[0x37];
              if ((undefined4 *******)
                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {
                *(undefined4 *)(puVar36 + -4) = 0x8c26a;
                FUN_000538b0();
LAB_0008c270:
                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;
                *(undefined4 *)(puVar36 + -0xc) = 0xd24;
                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;
                FUN_000da200();
              }
              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);
              if ((((bVar42 & 0x40) == 0) &&
                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&
                 ((bVar42 & 8) != 0)) {
                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;
                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;
              }
            }
          }
          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {
            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;
          }
          if (uVar39 - 0xb < 3) {
            local_e4 = (undefined4 *******)0x8000;
          }
          else {
            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;
            local_e4 = (undefined4 *******)0x2000000;
          }
          local_e0 = (undefined4 *****)0x0;
          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)
          goto LAB_0008c2e9;
          local_dc._4_4_ = (undefined4 ******)0x0;
          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
LAB_0008c192:
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar38 + -4) = 0x8c197;
            FUN_00052750();
          }
          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
          if (uVar39 < 0x20) {
            uVar39 = 0x20;
          }
          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;
          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);
          unaff_EBX = (undefined4 *******)
                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);
          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +
                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +
                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +
                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);
          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);
          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);
          local_11c = unaff_EBX;
        }
        else {
          local_3c = (undefined4 *******)0x0;
          local_bc = &local_40;
          local_30 = (undefined4 *******)0x0;
          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);
          *(undefined4 *)(puVar36 + -4) = 0x8a02d;
          local_f4 = ppppppuVar31;
          local_40 = pppppppuVar16;
          FUN_000553c0();
          pppppppuVar10 = (undefined4 *******)local_b4;
          local_f4 = local_8c;
          if (local_88 != '\0') {
            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;
            iVar19 = FUN_00065740();
            ppppppuVar11 = local_ac;
            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);
            ppppppuVar31 = pppppppuVar10[0xd];
            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')
                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {
              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {
                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {
                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];
                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;
                  bVar42 = FUN_001e6ac0();
                  bVar42 = bVar42 ^ 1;
                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;
                }
                else {
                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;
                }
              }
              else {
                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;
              }
              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||
                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {
                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];
              }
              else {
                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;
                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;
                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];
              }
            }
            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||
               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&
                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {
              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];
            }
            else {
              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;
              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];
              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;
            }
            pppppuVar26 = (undefined4 *****)(*local_c4)[2];
            if (pppppuVar26 == (undefined4 *****)0x0) {
LAB_0008c376:
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar36 + -4) = 0x8c37b;
              FUN_00052750();
            }
            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {
              uVar20 = 0xffffffe0;
              iVar19 = 0x20;
            }
            else {
              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);
              uVar20 = -iVar19;
            }
            ((undefined4 *******)local_b4)[0x1d] =
                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);
            unaff_EBX = pppppppuVar10;
          }
          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {
            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;
          }
          if (uVar39 - 0xb < 3) {
            local_e4 = (undefined4 *******)0x8000;
          }
          else {
            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;
            local_e4 = (undefined4 *******)0x2000000;
          }
          local_e0 = (undefined4 *****)0x0;
          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)
          goto LAB_0008c2e9;
          local_dc._4_4_ = (undefined4 ******)0x0;
          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;
          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
          if (uVar39 < 0x20) {
            uVar39 = 0x20;
          }
          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {
LAB_0008a0fd:
            local_dc._4_4_ = (undefined4 ******)0x0;
            local_e0 = (undefined4 ****)0x0;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar36 + -4) = &UNK_0008a102;
            FUN_00052f10();
          }
          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);
          unaff_EBX = (undefined4 *******)
                      ((int)((undefined4 *******)local_b4)[2] +
                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +
                      ((uVar39 != 0) - 1));
          local_104 = (undefined4 *)
                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);
          local_100 = (int)unaff_EBX +
                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &
                      -(uint)(uVar39 != 0);
          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);
          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);
        }
        local_dc._4_4_ = (undefined4 ******)0x0;
        local_e0 = (undefined4 *****)0x0;
        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))
            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <
            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))
                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;
        ppppppuVar31 = (undefined4 ******)*local_c4;
LAB_0008a1d8:
        pppppppuVar10 = (undefined4 *******)local_b4;
        puVar36 = puVar35;
        if (((uint)ppppppuVar31[5] & 0x40) != 0) {
          pppppuVar26 = *ppppppuVar31;
          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];
          pppppuVar14 = *ppppppuVar31;
          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];
          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;
          *(undefined4 *******)(puVar35 + -0x10) = local_bc;
          ppppuVar17 = pppppuVar14[0x10];
          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;
          (*(code *)ppppuVar17)();
          ppppppuVar11 = local_40;
          pppppuVar14 = pppppppuVar10[0xb][1];
          local_b4._0_4_ = (undefined4 *******)local_a8[2];
          ppppppuVar31 = (undefined4 ******)*local_a8;
          local_bc = (undefined4 ******)local_a8[1];
          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];
          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {
            *(undefined4 *******)(puVar35 + -0xc) = local_bc;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;
            *(undefined8 **)(puVar35 + -0x14) = &local_5c;
                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */
            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;
            FUN_000b1290();
          }
          else {
            *(undefined4 *******)(puVar35 + -0xc) = local_bc;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
            *(undefined8 **)(puVar35 + -0x14) = &local_5c;
                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */
            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;
            (*(code *)pppppppuVar10)();
          }
          unaff_EBX = (undefined4 *******)local_ac;
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;
          ppppppuVar31 = (undefined4 ******)*local_a8;
          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;
          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;
          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;
          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];
          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;
          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;
                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */
          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;
          FUN_000d1270();
          if ((undefined4 *******)local_5c != &local_54) {
            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;
            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;
            FUN_00248220();
          }
          ppppppuVar31 = local_ac;
          puVar36 = puVar35 + -8;
          if ((undefined4 *******)local_40 != &local_38) {
            *(undefined4 *******)(puVar35 + -0x18) = local_40;
            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;
            FUN_00248220();
            unaff_EBX = (undefined4 *******)ppppppuVar31;
            puVar36 = puVar35 + -8;
          }
        }
LAB_0008a2be:
        puVar35 = puVar36;
        if (*(char *)(param_1 + 0xa1) == '\0') {
          *(undefined1 *)(param_1 + 0xa1) = 1;
          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);
          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;
          if ((int)(undefined4 *******)local_b4 + 1 < 3) {
            return 1;
          }
        }
      }
LAB_00089370:
      local_a8 = local_a8 + 8;
      puVar36 = puVar35;
    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);
  }
  local_f4 = *(undefined4 *******)(param_1 + 100);
  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);
  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {
    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;
    FUN_0005c350();
  }
  ppppppuVar31 = local_ac;
  if (local_f4 != local_120) {
    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);
    bVar42 = *(byte *)(unaff_EBX + 7);
    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;
    puVar37 = puVar35;
    if ((bVar42 & 8) != 0) {
      if ((bVar42 & 2) == 0) {
        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);
        unaff_EBX[4] = (undefined4 ******)0x0;
        *(undefined4 *)(puVar35 + -4) = 0;
        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;
        *(undefined4 *)(puVar35 + -0xc) = 0x218;
        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;
        FUN_000da200();
      }
      goto LAB_0008b9d8;
    }
    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);
    unaff_EBX[4] = (undefined4 ******)0x0;
    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;
    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;
    ppppppuVar31 = unaff_EBX[0xb];
    if (ppppppuVar31 != (undefined4 ******)0x0) {
      local_b4._4_4_ = (undefined4 *****)0x0;
      bVar42 = *(byte *)(ppppppuVar31 + 7);
      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;
      local_a8 = (undefined4 ******)*ppppppuVar31;
      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];
      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);
      if ((bVar42 & 8) == 0) {
        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;
        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;
      }
      else {
        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {
LAB_0008bb14:
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;
          (*(code *)pppppppuVar10)();
          ppppppuVar31 = unaff_EBX[0xb];
        }
        if (((uint)ppppppuVar31[7] & 2) != 0) {
LAB_0008b9d8:
          ppppppuVar31 = local_ac;
          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;
          *(undefined4 *)(puVar37 + -0xc) = 0x231;
          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;
          FUN_000da200();
        }
        local_a8 = (undefined4 ******)*ppppppuVar31;
      }
      ppppppuVar11 = local_a8;
      ppppppuVar31[3] = (undefined4 *******)local_b4;
      ppppppuVar31[4] = local_b4._4_4_;
      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];
      *(undefined4 *)(puVar35 + -0x14) = 0x89480;
      (*(code *)ppppppuVar11)();
      if (((uint)ppppppuVar31[7] & 2) == 0) {
LAB_0008c197:
        ppppppuVar31 = local_ac;
        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;
        *(undefined4 *)(puVar35 + -0xc) = 0x163;
        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;
        FUN_000da200();
      }
      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;
    }
  }
  piVar13 = *(int **)(param_1 + 0x50);
  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);
  if (piVar13 != *(int **)(param_1 + 0x4c)) {
    do {
      local_b4._0_4_ = pppppppuVar10;
      ppppppuVar31 = local_ac;
      pppppppuVar10 = (undefined4 *******)piVar13[-1];
      local_a8 = pppppppuVar10;
      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {
        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;
      }
      else {
        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];
        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;
        *(undefined4 *)(puVar35 + -0x14) = 0xc;
        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;
        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;
        *(undefined4 *)(puVar35 + -0x20) = param_5;
        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;
        FUN_00107c70();
        local_a8[0x26] = (undefined4 ******)0x0;
        unaff_EBX = (undefined4 *******)ppppppuVar31;
        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;
      }
      piVar13 = piVar13 + -1;
      pppppppuVar10 = (undefined4 *******)local_b4;
    } while( true );
  }
  goto LAB_0008a784;
LAB_00089744:
  do {
    unaff_EBX = (undefined4 *******)*piVar40;
    ppppppuVar31 = unaff_EBX[8];
    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];
    if (pppppppuVar10 == (undefined4 *******)local_bc) {
      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);
    }
    else {
      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;
      uVar43 = (*(code *)pppppppuVar10)();
    }
    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);
    local_a8 = (undefined4 ******)uVar43;
    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -4) = 0x8c30f;
      FUN_00052750();
    }
    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));
    if (pppppppuVar10 < (undefined4 *******)0x20) {
      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {
        ppppppuVar31[9] = (undefined4 *****)0x20;
        ppppppuVar31[10] = (undefined4 *****)0x0;
        local_b4._0_4_ = (undefined4 *******)0x20;
LAB_000897c9:
        local_b4._4_4_ = (undefined4 *****)0x0;
        pppppuVar26 = ppppppuVar31[0x2b];
        if (pppppuVar26 != (undefined4 *****)0x0) {
          pppppuVar26[1] = (undefined4 *******)local_b4;
          pppppuVar26[2] = (undefined4 ****)0x0;
        }
      }
    }
    else {
      local_b4._4_4_ = (undefined4 *****)0x0;
      local_b4._0_4_ = pppppppuVar10;
      if (uVar39 < (local_a8 < pppppppuVar10)) {
        ppppppuVar31[9] = pppppppuVar10;
        ppppppuVar31[10] = (undefined4 *****)0x0;
        goto LAB_000897c9;
      }
    }
    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {
      unaff_EBX[0x20] = unaff_EBX[0x1f];
      unaff_EBX[0x1e] = unaff_EBX[0x1d];
      local_40 = *(undefined4 *******)(*piVar40 + 0x20);
      *(undefined4 *)(puVar35 + -0xc) = 1;
      *(undefined4 *)(puVar35 + -0x10) = 0;
      *(undefined8 ***)(puVar35 + -0x14) = local_68;
      *(undefined4 ********)(puVar35 + -0x18) = &local_40;
      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;
      *(undefined1 **)(puVar35 + -0x20) = local_a4;
      local_68[0] = (undefined8 *)local_10c;
                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;
      FUN_000abee0();
      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);
      puVar35 = puVar35 + -4;
    }
    piVar40 = piVar40 + 1;
  } while (*(int **)(param_1 + 0x50) != piVar40);
  local_e4 = local_54;
  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;
  do {
    local_b4 = 0;
    local_bc = (undefined4 ******)local_e4[1];
    local_a8 = ((undefined4 *******)local_bc)[0x1b];
    lVar44 = 0;
    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {
      do {
        ppppppuVar31 = (undefined4 ******)*local_a8;
        local_b4 = lVar44;
        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {
          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {
            ppppppuVar11 = (undefined4 ******)local_a8[4];
            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];
            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {
              lVar45 = *(longlong *)(ppppppuVar11 + 9);
            }
            else {
              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;
              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;
              lVar45 = (*(code *)pppppppuVar10)();
              ppppppuVar31 = (undefined4 ******)*local_a8;
            }
            goto LAB_0008aa09;
          }
LAB_0008aab8:
          ppppppuVar31 = local_a8;
          *(undefined4 *******)(puVar35 + -0x10) = local_a8;
          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;
          local_b4 = lVar44;
          piVar13 = (int *)FUN_0015c600();
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;
          uVar9 = FUN_0015c690();
          iVar19 = *piVar13;
          *(longlong *)(puVar35 + -8) = local_b4;
          *(undefined4 *)(puVar35 + -0xc) = uVar9;
          *(int **)(puVar35 + -0x10) = piVar13;
          pcVar3 = *(code **)(iVar19 + 0xdc);
          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;
          (*pcVar3)();
          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;
          local_cc._4_4_ = (undefined4 *****)0x0;
          unaff_EBX = (undefined4 *******)ppppppuVar31[4];
          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);
          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);
          if (*(char *)(unaff_EBX + 0x23) != '\0') {
            pppppuVar26 = unaff_EBX[0xd][0x2b];
            if (((uint)pppppuVar26[7] & 2) == 0) {
              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;
              *(undefined4 *)(puVar35 + -0xc) = 0xcf;
              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;
              FUN_000da200();
            }
            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);
            local_cc._0_4_ =
                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);
            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);
          }
          if (local_cc._4_4_ != (undefined4 *****)0x0 ||
              (undefined4 *******)local_cc != (undefined4 *******)0x0) {
            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar35 + -4) = 0x8c314;
              FUN_00052750();
            }
            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
            if (uVar39 < 0x20) {
              uVar39 = 0x20;
            }
            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);
            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),
                                (uint)local_dc & -uVar39);
          }
          lVar44 = local_dc +
                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -
                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),
                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);
          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);
          local_cc = *(longlong *)(unaff_EBX + 0x21);
          if (unaff_EBX[0x22] < ppppppuVar31 ||
              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <
              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {
            local_cc = lVar44;
          }
          bVar42 = *(byte *)(unaff_EBX + 7);
          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;
          if ((bVar42 & 8) == 0) {
            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;
          }
          else if ((bVar42 & 2) != 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;
            *(undefined4 *)(puVar35 + -0xc) = 0x231;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;
            FUN_000da200();
          }
          *(longlong *)(unaff_EBX + 3) = local_cc;
          if (((uint)local_bc[7] & 4) == 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;
            *(undefined4 *)(puVar35 + -0xc) = 0xe3;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;
            FUN_000da200();
          }
          ppppppuVar31 = (undefined4 ******)local_bc[5];
          ppppppuVar11 = (undefined4 ******)local_bc[6];
          if (((uint)local_bc[7] & 1) == 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
            *(undefined4 *)(puVar35 + -0xc) = 0xc5;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */
            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;
            FUN_000da200();
          }
          ppppppuVar33 = (undefined4 ******)local_bc[1];
          ppppppuVar8 = (undefined4 ******)local_bc[1];
          ppppppuVar29 = (undefined4 ******)local_bc[2];
          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);
          ppppppuVar4 = *unaff_EBX;
          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);
          unaff_EBX[2] = (undefined4 ******)
                         ((int)ppppppuVar29 +
                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +
                         (int)local_b4._4_4_);
          unaff_EBX[6] = (undefined4 ******)
                         ((int)ppppppuVar11 +
                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +
                         (int)local_b4._4_4_);
          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;
          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;
          pppppuVar26 = ppppppuVar4[0xe];
          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;
          (*(code *)pppppuVar26)();
          if (((uint)unaff_EBX[7] & 2) == 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;
            *(undefined4 *)(puVar35 + -0xc) = 0x163;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */
            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;
            FUN_000da200();
          }
          lVar44 = local_b4 + local_cc;
          local_b4 = local_cc + local_b4;
          if (3 < param_2) {
            *(longlong *)(unaff_EBX + 0x21) = local_cc;
            local_b4 = lVar44;
          }
        }
        else {
          puVar23 = (undefined *)((int)local_a8[1] + -1);
          bVar42 = (byte)puVar23;
          bVar41 = ((uint)puVar23 & 0x20) == 0;
          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));
LAB_0008aa09:
          lVar44 = local_b4;
          if (lVar45 != 0) {
            lVar44 = lVar45 + local_b4 + -1;
            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &
                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),
                              (uint)lVar44 & -(int)lVar45);
          }
          local_b4 = lVar44;
          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;
LAB_0008aa48:
          unaff_EBX = (undefined4 *******)local_ac;
          *(undefined4 *******)(puVar35 + -0x10) = local_a8;
          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;
          lVar44 = FUN_0015c5c0();
          local_b4 = lVar44 + local_b4;
        }
        local_a8 = local_a8 + 6;
        lVar44 = local_b4;
      } while ((undefined4 ******)local_bc[0x1c] != local_a8);
    }
    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;
    local_e4 = (undefined4 ******)*local_e4;
  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);
  local_e4 = (undefined4 *******)0x0;
  pppppppuVar10 = (undefined4 *******)local_ac;
  goto joined_r0x0008acfa;
LAB_00089528:
  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {
    iVar19 = piVar13[-1];
    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);
    pppppuVar26 = (*unaff_EBX)[2];
    local_c4 = unaff_EBX;
    if (pppppuVar26 != (undefined4 *****)0x0) {
      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);
      local_a8 = unaff_EBX;
      do {
        ppppppuVar31 = local_ac;
        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&
            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&
           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)
           ) {
          puVar21 = (undefined2 *)(iVar19 + 0xa5);
          *(undefined4 *)(iVar19 + 0x9c) = 0;
          *(undefined4 *)(iVar19 + 0xa0) = 0;
          *(undefined1 *)(iVar19 + 0xa4) = 0;
          uVar39 = *(uint *)(iVar19 + 0x94);
          if (uVar39 != 0xffffffff) {
            uVar20 = uVar39 >> 2;
            if (uVar39 < 0x100) {
              puVar21 = (undefined2 *)(iVar19 + 0xa6);
              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';
            }
            else if (uVar39 < 0x400) {
              *(undefined1 *)(iVar19 + 0xa5) = 2;
              puVar21 = (undefined2 *)(iVar19 + 0xa7);
              *(char *)(iVar19 + 0xa6) = (char)uVar20;
            }
            else if (uVar39 < 0x40000) {
              *(undefined1 *)(iVar19 + 0xa5) = 3;
              puVar21 = (undefined2 *)(iVar19 + 0xa8);
              *(short *)(iVar19 + 0xa6) = (short)uVar20;
            }
            else {
              *(undefined1 *)(iVar19 + 0xa5) = 4;
              puVar21 = (undefined2 *)(iVar19 + 0xaa);
              *(uint *)(iVar19 + 0xa6) = uVar20;
            }
            *puVar21 = 0x4111;
            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);
            *(undefined2 *)((int)puVar21 + 3) = 0x644;
            *(undefined1 *)((int)puVar21 + 5) = 0x41;
            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;
            puVar21 = puVar21 + 3;
          }
          iVar22 = (int)puVar21 - (iVar19 + 0x9c);
          *(int *)(iVar19 + 0x98) = iVar22;
          *(int *)(puVar35 + -0xc) = iVar22;
          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;
          *(undefined4 *)(puVar35 + -0x14) = 0xc;
          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;
          *(int *)(puVar35 + -0x1c) = iVar19;
          *(undefined4 *)(puVar35 + -0x20) = param_5;
          *(undefined4 *)(puVar35 + -0x24) = 0x89654;
          FUN_00111200();
          unaff_EBX = (undefined4 *******)ppppppuVar31;
        }
        if (*(int **)(param_1 + 0x50) == piVar13) {
          local_5c._4_4_ = (undefined4 *******)0x1;
          local_54 = (undefined4 *******)0x0;
          piVar40 = *(int **)(param_1 + 0x4c);
          local_5c._0_4_ = (undefined4 *******)&local_44;
          local_50 = 0;
          local_10c = (undefined4 ******)&local_5c;
          local_4c = 0x3f800000;
          local_48 = 0;
          local_44 = 0;
          if (piVar40 == piVar13) goto LAB_0008a7bd;
          local_bc = local_ac + -0xdbefc;
          goto LAB_00089744;
        }
        iVar19 = *piVar13;
        piVar13 = piVar13 + 1;
        pppppuVar26 = (undefined4 *****)(*local_a8)[2];
      } while (pppppuVar26 != (undefined4 *****)0x0);
    }
    goto LAB_0008c0b4;
  }
LAB_0008a784:
  local_5c._0_4_ = (undefined4 *******)&local_44;
  local_5c._4_4_ = (undefined4 *******)0x1;
  local_10c = (undefined4 ******)&local_5c;
  local_54 = (undefined4 *******)0x0;
  local_50 = 0;
  local_4c = 0x3f800000;
  local_48 = 0;
  local_44 = 0;
LAB_0008a7bd:
  pppppppuVar10 = (undefined4 *******)local_ac;
joined_r0x0008acfa:
  local_ac = pppppppuVar10;
  if ((char)local_fc != '\0') goto LAB_0008ad00;
  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {
    if ((char)local_fc != '\0') goto LAB_0008ad00;
    local_c4 = pppppppuVar10 + 0x13a;
LAB_0008af56:
    pppppuVar26 = (undefined4 *****)(*local_c4)[2];
    if (pppppuVar26 == (undefined4 *****)0x0) {
      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;
      ppppppuVar31 = local_ac;
      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */
      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;
      FUN_000da200();
    }
  }
  else {
    local_c4 = pppppppuVar10 + 0x13a;
    pppppuVar26 = (undefined4 *****)(*local_c4)[2];
    if (pppppuVar26 == (undefined4 *****)0x0) {
      *(undefined4 *)(puVar35 + -4) = 0;
      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;
      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;
      FUN_000da200();
    }
    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||
       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {
      iVar19 = *(int *)(param_1 + 0x24);
      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {
        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;
      }
      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);
      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {
        *(byte *)((undefined4 *******)local_a8 + 7) =
             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;
      }
      piVar13 = *(int **)(param_1 + 0x60);
      if (piVar13 != (int *)0x0) {
        local_bc = &local_40;
        while( true ) {
          local_b4._0_4_ = (undefined4 *******)piVar13[1];
          local_b4._4_4_ = (undefined4 *****)piVar13[2];
          iVar22 = piVar13[3];
          *(undefined4 *)(puVar35 + -0xc) = 1;
          *(undefined4 *)(puVar35 + -0x10) = 0;
          *(int *)(puVar35 + -0x14) = iVar22;
          *(int *)(puVar35 + -0x18) = iVar19;
          *(undefined4 *)(puVar35 + -0x1c) = 0x16;
          *(undefined4 *******)(puVar35 + -0x20) = local_bc;
          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;
          FUN_0016dd00();
          ppppppuVar11 = local_a8;
          local_24 = (undefined4 *******)local_b4;
          local_20 = local_b4._4_4_;
          ppppppuVar31 = (undefined4 ******)local_a8[0xe];
          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {
            *(undefined4 *******)(puVar35 + -8) = local_bc;
            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;
            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;
            FUN_000ad050();
            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];
          }
          else {
            ppppppuVar11 = ppppppuVar31 + 9;
            *ppppppuVar31 = local_40;
            ppppppuVar31[1] = local_3c;
            ppppppuVar31[2] = local_38;
            ppppppuVar31[3] = local_34;
            ppppppuVar31[4] = local_30;
            ppppppuVar31[5] = local_2c;
            ppppppuVar31[6] = (undefined4 *****)local_28;
            ppppppuVar31[7] = (undefined4 *******)local_b4;
            ppppppuVar31[8] = local_b4._4_4_;
            local_a8[0xe] = ppppppuVar11;
          }
          ppppppuVar31 = local_ac;
          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;
          iVar12 = iVar22 * 0x38e38e39;
          if (((uint)local_a8[7] & 2) != 0) {
            *(int *)(puVar35 + -4) = iVar12;
            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;
            *(undefined4 *)(puVar35 + -0xc) = 0x231;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */
            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;
            FUN_000da200();
          }
          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);
          local_a8[4] = (undefined4 ******)0x0;
          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;
          if (((uint)local_2c & 0x10000000) != 0) {
            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);
          }
          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&
             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {
            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {
              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);
            }
            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);
          }
          piVar13 = (int *)*piVar13;
          iVar19 = *(int *)(param_1 + 0x24);
          if (piVar13 == (int *)0x0) break;
          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);
        }
      }
      ppppppuVar31 = local_ac;
      bVar42 = *(byte *)(iVar19 + 0x1c);
      if ((bVar42 & 2) == 0) {
        if ((bVar42 & 8) != 0) {
          *(int **)(puVar35 + -4) = piVar13;
          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;
          *(undefined4 *)(puVar35 + -0xc) = 0x218;
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */
          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;
          FUN_000da200();
        }
        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;
      }
      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);
      if (((uint)unaff_EBX[7] & 2) == 0) {
        ppppppuVar31 = *unaff_EBX;
        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;
                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */
        pppppuVar26 = ppppppuVar31[0xe];
        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;
        (*(code *)pppppuVar26)();
        ppppppuVar31 = local_ac;
        if (((uint)unaff_EBX[7] & 2) == 0) {
          *(int *)(puVar35 + -4) = iVar19;
          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;
          *(undefined4 *)(puVar35 + -0xc) = 0x163;
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;
          FUN_000da200();
        }
      }
      goto LAB_0008af56;
    }
  }
  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {
    local_110 = local_71;
    local_104 = *(undefined4 **)(param_1 + 0x4c);
    lVar44 = local_b4;
    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {
      do {
        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);
        local_a8 = (undefined4 ******)*local_104;
        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];
        lVar45 = local_dc;
        if (ppppppuVar31 != (undefined4 ******)0x0) {
          local_b4 = lVar44;
          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */
            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;
            FUN_0028dc10();
          }
          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;
                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */
          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;
          local_f8 = (undefined4 ******)FUN_00246670();
          pppppppuVar10 = (undefined4 *******)local_f8;
          do {
            *pppppppuVar10 = (undefined4 ******)0x0;
            pppppppuVar10 = pppppppuVar10 + 1;
          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);
          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];
              ppppppuVar31 != (undefined4 ******)0x0;
              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {
            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;
          }
          local_dc._0_4_ = (undefined4 *******)0x0;
          local_bc = &local_40;
          local_cc._0_4_ = (undefined4 *******)local_68;
          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {
            do {
              ppppppuVar31 = local_ac;
              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);
              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];
              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||
                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {
                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];
                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;
                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;
                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;
                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));
              }
              ppppppuVar31 = local_ac;
              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);
              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {
                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];
                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;
                *(undefined4 *******)(puVar35 + -0x10) = local_bc;
                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;
                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));
              }
              ppppppuVar31 = local_ac;
              pppppppuVar10 = (undefined4 *******)local_110;
              pppppuVar26 = ((undefined4 *******)local_b4)[1];
              if (pppppuVar26 == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];
                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;
                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;
                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;
                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));
                pppppppuVar16 = (undefined4 *******)local_bc;
              }
              else {
                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];
                if ((pppppuVar14 == (undefined4 *****)0x0) ||
                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&
                    (pppppuVar26 != pppppuVar14)))) {
                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;
                  pppppppuVar16 = (undefined4 *******)local_bc;
                }
                else {
                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;
                  pppppppuVar16 = (undefined4 *******)local_bc;
                }
              }
              do {
                pppppppuVar30 = pppppppuVar16;
                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;
                uVar39 = uVar20 & 0x80808080;
                pppppppuVar16 = pppppppuVar30 + 1;
              } while (uVar39 == 0);
              bVar41 = (uVar20 & 0x8080) == 0;
              if (bVar41) {
                uVar39 = uVar39 >> 0x10;
              }
              if (bVar41) {
                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);
              }
              iVar19 = -(int)local_bc;
              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;
              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;
              sVar15 = strlen(*(char **)(puVar35 + -0x10));
              ppppppuVar31 = local_ac;
              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;
              do {
                ppuVar24 = ppuVar25;
                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;
                uVar20 = uVar32 & 0x80808080;
                ppuVar25 = ppuVar24 + 1;
              } while (uVar20 == 0);
              bVar41 = (uVar32 & 0x8080) == 0;
              if (bVar41) {
                uVar20 = uVar20 >> 0x10;
              }
              if (bVar41) {
                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);
              }
              *(size_t *)(puVar35 + -0x10) =
                   (int)pppppppuVar16 +
                   (int)ppuVar25 +
                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +
                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));
                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */
              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;
              pppppppuVar16 = (undefined4 *******)FUN_002465f0();
              ppppppuVar11 = local_a8;
              local_e4 = pppppppuVar16;
              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;
              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;
              *(undefined4 *******)(puVar35 + -0x14) = local_bc;
              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];
              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;
              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;
              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;
              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));
              ppppppuVar31 = local_ac;
              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
                *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;
                FUN_000da200();
              }
              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
              if (uVar39 < 0x20) {
                uVar39 = 0x20;
              }
              if (((uint)local_a8[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;
                FUN_000da200();
              }
              ppppppuVar11 = (undefined4 ******)local_a8[1];
              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);
              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);
              local_e8 = (uint)((int)local_a8[2] +
                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +
                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &
                         -(uint)(uVar39 != 0);
              pppppuVar26 = ((undefined4 *******)local_b4)[1];
              local_f4 = (undefined4 ******)
                         (((int)local_ec - (int)ppppppuVar11) +
                         (int)((undefined4 *******)local_b4)[6]);
              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +
                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,
                                      (uint)((undefined4 *******)local_b4)[6]);
              ppppppuVar11 = (undefined4 ******)local_a8[0xd];
              if (pppppuVar26 == (undefined4 *****)0x0) {
                pppppuVar26 = ((undefined4 *******)local_b4)[2];
                pppppuVar14 = ((undefined4 *******)local_b4)[5];
                if ((undefined4 *****)
                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=
                    pppppuVar14) {
                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;
                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;
                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;
                  FUN_000da200();
                }
                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)
                {
                  pppppuVar34 = ppppppuVar11[8];
                }
                else {
                  pppppuVar34 = ppppppuVar11[7];
                  if (pppppuVar34 == (undefined4 *****)0x0) {
                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;
                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;
                    *(undefined4 *)(puVar35 + -0xc) = 0x372;
                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */
                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;
                    FUN_000da200();
                  }
                }
                ppppuVar17 = *pppppuVar26;
                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;
                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;
                pppuVar6 = ppppuVar17[0x2a];
                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;
                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();
              }
              else {
                if (((uint)pppppuVar26[10] & 0xf) == 10) {
                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;
                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {
                    while( true ) {
                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;
                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;
                      cVar7 = FUN_000a7920();
                      if (cVar7 != '\0') break;
                      pppppuVar34 = ppppppuVar11[7];
                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;
                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;
                      FUN_00051cf0();
                      ppppppuVar11 = (undefined4 ******)0x0;
LAB_0008b9a0:
                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||
                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&
                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;
                    }
                  }
                }
                ppppppuVar31 = local_ac;
                pppppuVar34 = ppppppuVar11[6];
                if (pppppuVar34 == (undefined4 *****)0x0) {
                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;
                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;
                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */
                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;
                  FUN_000da200();
                }
LAB_0008b6e1:
                ppppppuVar31 = local_ac;
                ppppuVar17 = pppppuVar26[6];
                if (ppppuVar17 == (undefined4 ****)0xffffffff) {
                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;
                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;
                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;
                  FUN_000da200();
                }
              }
              ppppppuVar31 = local_ac;
              uVar39 = local_f0;
              if (((uint)pppppuVar34[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;
                FUN_000da200();
              }
              ppppppuVar11 = (undefined4 ******)local_a8[0xd];
              if (ppppppuVar11[5] == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;
                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;
                FUN_000da200();
              }
              ppppuVar5 = ppppppuVar11[5][8];
              if (((uint)ppppuVar5[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;
                FUN_000da200();
              }
              iVar19 = -(int)ppppuVar5[1];
              pppppuVar26 = ppppppuVar11[0x2c];
              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;
              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;
              iVar22 = uVar32 + 0x14;
              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&
                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||
                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {
                iVar22 = uVar32 + 0x48;
              }
              pppppuVar14 = (undefined4 *****)(*local_c4)[2];
              local_b4._0_4_ = (undefined4 *******)pppppuVar26;
              if (((uint)ppppppuVar11[2] & 2) == 0) {
                if (pppppuVar14 == (undefined4 *****)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */
                  *(undefined4 *)(puVar35 + -4) = 0x8c225;
                  FUN_00052750();
                }
                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +
                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;
                if (uVar20 != (int)pppppuVar34[1] +
                              (int)ppppuVar17 +
                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {
                  iVar12 = iVar12 + 4;
                }
                iVar22 = iVar22 + iVar12;
              }
              else if (pppppuVar14 == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
                *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;
                FUN_000da200();
              }
              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {
                uVar20 = 0xffffffe0;
                iVar19 = 0x20;
              }
              else {
                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);
                uVar20 = -iVar19;
              }
              *(undefined4 *)(puVar35 + -8) = 0;
              ppppppuVar31 = local_f4;
              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;
              *(undefined4 *)(puVar35 + -0x10) = 0;
              *(undefined4 *)(puVar35 + -0x14) = 2;
              *(undefined4 *)(puVar35 + -0x18) = 0;
              *(undefined4 *)(puVar35 + -0x1c) = 0;
              *(undefined4 *)(puVar35 + -0x20) = 0;
              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;
              *(uint *)(puVar35 + -0x28) = uVar39;
              ppppppuVar11 = local_a8;
              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;
              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;
              *(undefined4 *)(puVar35 + -0x34) = 5;
              *(undefined4 *)(puVar35 + -0x38) = 0;
              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;
              *(undefined4 *)(puVar35 + -0x40) = param_4;
              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;
              iVar19 = FUN_001e98f0();
              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;
              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);
            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);
          }
          *(undefined4 *******)(puVar35 + -0x10) = local_f8;
          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;
          FUN_00248220();
          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);
        }
        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);
        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];
        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {
          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);
          do {
            ppppppuVar31 = (undefined4 *******)local_b4;
            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {
              *(undefined4 *)(puVar35 + -0x10) = 0x26;
                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */
              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;
              pppppppuVar10 = (undefined4 *******)FUN_002465f0();
              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];
              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];
              local_bc = pppppppuVar10;
              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];
              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;
              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;
              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;
              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));
              ppppppuVar31 = local_ac;
              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
                *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;
                FUN_000da200();
              }
              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
              if (uVar39 < 0x20) {
                uVar39 = 0x20;
              }
              if (((uint)local_a8[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;
                FUN_000da200();
              }
              ppppppuVar31 = (undefined4 ******)local_a8[1];
              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);
              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;
              pppppuVar26 = ((undefined4 *******)local_b4)[5];
              local_d0 = (uint)((int)local_a8[2] +
                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +
                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &
                         -(uint)(uVar39 != 0);
              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;
              uVar20 = uVar39 + local_d4;
              iVar19 = uVar20 + (int)pppppuVar26;
              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +
                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);
              uVar39 = 0x2000000 - (int)local_a8[0x1e];
              uVar20 = uVar39 - local_d4;
              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);
              iVar22 = (int)((undefined4 *******)local_b4)[2] +
                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +
                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -
                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));
              uVar9 = 4;
              if (iVar22 != 0 ||
                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {
                uVar9 = 0x10;
              }
              local_cc._0_4_ = (undefined4 *******)iVar19;
              local_cc._4_4_ = (undefined4 *****)uVar32;
              *(undefined4 *)(puVar35 + -8) = 0;
              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;
              *(undefined4 *)(puVar35 + -0x10) = 0;
              *(undefined4 *)(puVar35 + -0x14) = 2;
              *(undefined4 *)(puVar35 + -0x18) = 0;
              *(undefined4 *)(puVar35 + -0x1c) = 0;
              *(undefined4 *)(puVar35 + -0x20) = 0;
              *(undefined4 *)(puVar35 + -0x24) = uVar9;
              *(uint *)(puVar35 + -0x28) = uVar32;
              *(int *)(puVar35 + -0x2c) = iVar19;
              *(undefined4 *******)(puVar35 + -0x30) = local_a8;
              *(undefined4 *)(puVar35 + -0x34) = 5;
              *(undefined4 *)(puVar35 + -0x38) = 0;
              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;
              *(undefined4 *)(puVar35 + -0x40) = param_4;
              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;
              iVar19 = FUN_001e98f0();
              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;
            }
            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;
            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);
          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);
        }
        local_dc = lVar45;
        local_104 = local_104 + 1;
        lVar44 = local_b4;
      } while (*(undefined4 **)(param_1 + 0x50) != local_104);
    }
    iVar19 = *(int *)(param_1 + 0x28);
    if (iVar19 != 0) {
      uVar9 = 0x2c;
      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {
        uVar9 = 0x38;
      }
      *(undefined4 *)(puVar35 + -8) = 0;
      *(undefined4 *)(puVar35 + -0xc) = 0;
      *(undefined4 *)(puVar35 + -0x10) = 0;
      *(undefined4 *)(puVar35 + -0x14) = 2;
      *(undefined4 *)(puVar35 + -0x18) = 0;
      *(undefined4 *)(puVar35 + -0x1c) = 0;
      *(undefined4 *)(puVar35 + -0x20) = 0;
      ppppppuVar31 = local_ac;
      *(undefined4 *)(puVar35 + -0x24) = uVar9;
      *(undefined4 *)(puVar35 + -0x28) = 0;
      *(undefined4 *)(puVar35 + -0x2c) = 8;
      *(int *)(puVar35 + -0x30) = iVar19;
      *(undefined4 *)(puVar35 + -0x34) = 5;
      *(undefined4 *)(puVar35 + -0x38) = 0;
      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;
      *(undefined4 *)(puVar35 + -0x40) = param_4;
      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;
      iVar19 = FUN_001e98f0();
      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;
    }
  }
LAB_0008ad00:
  *(undefined4 *******)(puVar35 + -0x10) = local_10c;
  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;
  FUN_000a91a0();
  return (uint)local_fc & 0xff;
}


CALL 0x000b4846
ADD EAX,0x38b18b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x13c
CMP dword ptr [EBP + 0xc],0x1
MOV dword ptr [EBP + 0xffffff58],EAX
JZ 0x0008b090
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0xa1],0x0
JNZ 0x000898ac
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EAX + 0x4c]
CMP dword ptr [EAX + 0x50],EDX
JZ 0x00089837
MOV ESI,dword ptr [EDX]
MOV EAX,dword ptr [ESI + 0x2c]
MOV EBX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + 0xffffff5c],ESI
MOV ECX,dword ptr [EAX + 0x84]
MOV EAX,dword ptr [EAX + 0x88]
SUB EAX,ECX
SAR EAX,0x3
CMP EAX,EBX
JBE 0x0008bf9d
MOV EDI,dword ptr [ECX + EBX*0x8 + 0x4]
MOV ESI,dword ptr [ECX + EBX*0x8]
MOV EAX,EDI
AND EAX,ESI
CMP EAX,-0x1
JZ 0x0008c1d9
ADD EDX,0x4
MOV dword ptr [EBP + 0xffffff50],ESI
MOV dword ptr [EBP + 0xffffff38],EDX
MOV EDX,dword ptr [EBP + 0xffffff58]
MOV dword ptr [EBP + 0xffffff54],EDI
LEA EDX,[EDX + 0x4e8]
MOV dword ptr [EBP + 0xffffff28],EDX
JMP 0x00089004
AND EDX,0xfffffff8
MOV byte ptr [ECX + 0x1c],DL
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOVZX ECX,byte ptr [EDI + 0x1c]
MOV dword ptr [EAX + 0xc],EBX
MOV dword ptr [EAX + 0x10],ESI
TEST CL,0x4
JZ 0x0008c171
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EBP + 0xffffff54]
MOV EBX,EDI
ADD EAX,dword ptr [EDI + 0x14]
ADC EDX,dword ptr [EDI + 0x18]
AND ECX,0x1
JZ 0x0008bf5b
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV EDI,dword ptr [EBP + 0xffffff54]
ADD ESI,dword ptr [EBX + 0x4]
ADC EDI,dword ptr [EBX + 0x8]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBX + 0x14],EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EBX + 0x4],ESI
MOV dword ptr [EBX + 0x8],EDI
MOV dword ptr [EBX + 0x18],EDX
OR byte ptr [EBX + 0x1c],0x5
PUSH EBX
CALL dword ptr [EAX + 0x38]
ADD ESP,0x10
TEST byte ptr [EBX + 0x1c],0x2
JZ 0x0008c197
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x50]
CMP EAX,dword ptr [EBP + 0xffffff38]
JZ 0x00089158
MOV EAX,dword ptr [EBP + 0xffffff38]
MOV EDI,dword ptr [EAX]
MOV EAX,dword ptr [EDI + 0x2c]
MOV ECX,dword ptr [EDI + 0x30]
MOV dword ptr [EBP + 0xffffff5c],EDI
MOV EDX,dword ptr [EAX + 0x84]
MOV EAX,dword ptr [EAX + 0x88]
SUB EAX,EDX
SAR EAX,0x3
CMP ECX,EAX
JNC 0x0008bf9d
MOV EAX,dword ptr [EDX + ECX*0x8]
MOV EDX,dword ptr [EDX + ECX*0x8 + 0x4]
ADD dword ptr [EBP + 0xffffff38],0x4
MOV ECX,EDX
MOV dword ptr [EBP + 0xffffff50],EAX
MOV EDX,EAX
MOV EAX,ECX
MOV dword ptr [EBP + 0xffffff54],ECX
AND EAX,EDX
CMP EAX,-0x1
JZ 0x0008c1d9
MOV EBX,dword ptr [EBP + 0xffffff5c]
XOR EDX,EDX
MOV dword ptr [EBP + 0xffffff4c],0x0
MOV EAX,dword ptr [EBX + 0x20]
MOV EDI,EAX
MOV EAX,dword ptr [EBX + 0x70]
ADD EAX,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EBP + 0xffffff40],EAX
ADC EDX,dword ptr [EBP + 0xffffff54]
MOV EAX,dword ptr [EBX + 0x7c]
ADD EAX,dword ptr [EBX + 0x74]
MOV dword ptr [EBP + 0xffffff44],EDX
CMP byte ptr [EBX + 0x8c],0x0
MOV dword ptr [EBP + 0xffffff48],EAX
JZ 0x00089070
MOV EAX,dword ptr [EBX + 0x34]
MOV EAX,dword ptr [EAX + 0xac]
TEST byte ptr [EAX + 0x1c],0x2
JZ 0x0008c1b8
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0xc]
ADD dword ptr [EBP + 0xffffff48],EAX
ADC dword ptr [EBP + 0xffffff4c],EDX
MOV EDX,dword ptr [EBP + 0xffffff48]
MOV ECX,dword ptr [EBP + 0xffffff4c]
MOV EAX,EDX
MOV EDX,ECX
OR EDX,EAX
JNZ 0x000890f0
MOV ECX,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EBP + 0xffffff48]
MOV EDX,dword ptr [EBP + 0xffffff4c]
SUB EAX,dword ptr [EBP + 0xffffff50]
MOV EBX,dword ptr [ECX + 0x84]
MOV ESI,dword ptr [ECX + 0x88]
SBB EDX,dword ptr [EBP + 0xffffff54]
ADD EAX,dword ptr [EBP + 0xffffff40]
MOV ECX,ESI
ADC EDX,dword ptr [EBP + 0xffffff44]
CMP EBX,EAX
SBB ECX,EDX
MOV ECX,dword ptr [EBP + 0xffffff5c]
CMOVC ESI,EDX
CMOVC EBX,EAX
MOVZX EDX,byte ptr [ECX + 0x1c]
MOV EAX,EDX
AND EAX,0xfffffffa
MOV byte ptr [ECX + 0x1c],AL
TEST AL,0x8
JZ 0x00088f20
TEST AL,0x2
JZ 0x00088f26
JMP 0x0008b9d8
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c192
MOV ECX,dword ptr [EAX + 0x2b20]
MOV EAX,0x1
MOV EDX,0x20
SHL EAX,CL
CMP EAX,0x20
CMOVC EAX,EDX
XOR EDX,EDX
MOV EBX,EDX
MOV ECX,EAX
ADD ECX,-0x1
ADC EBX,-0x1
ADD ECX,dword ptr [EBP + 0xffffff40]
ADC EBX,dword ptr [EBP + 0xffffff44]
NEG EAX
MOV ESI,ECX
ADC EDX,0x0
AND ESI,EAX
NEG EDX
MOV dword ptr [EBP + 0xffffff40],ESI
MOV ESI,EBX
AND ESI,EDX
MOV dword ptr [EBP + 0xffffff44],ESI
JMP 0x00089084
CMP dword ptr [EBP + 0xc],0x1
JNZ 0x00089837
MOV dword ptr [EBP + 0xfffffee4],0x0
MOV ESI,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [ESI + 0x4c]
MOV dword ptr [EBP + 0xfffffef4],0x0
MOV ESI,dword ptr [EBP + 0x8]
MOV ECX,EAX
SUB ECX,EDX
MOV byte ptr [ESI + 0xa1],0x0
CMP EDX,EAX
JZ 0x00089196
MOV EAX,dword ptr [EDX]
MOV dword ptr [EBP + 0xfffffef4],EAX
CMP ECX,0x4
MOV EAX,0x0
MOV ESI,dword ptr [EBP + 0xffffff58]
CMOVZ EAX,dword ptr [EBP + 0xfffffef4]
LEA ESI,[ESI + 0x4e8]
MOV dword ptr [EBP + 0xffffff08],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xffffff0c],ESI
MOV EAX,dword ptr [EAX + 0x74]
MOV dword ptr [EBP + 0xfffffef0],ESI
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xffffff5c],EAX
CMP dword ptr [ESI + 0x78],EAX
JZ 0x00089389
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x14]
MOV EAX,dword ptr [EDX + 0xb0]
CMP ECX,EAX
JC 0x000899a0
MOV ESI,ECX
MOV EBX,dword ptr [EDX + 0xbc]
SUB ESI,EAX
MOV EAX,dword ptr [EDX + 0xc0]
SUB EAX,EBX
SAR EAX,0x2
CMP ESI,EAX
JNC 0x0008c075
MOV EAX,dword ptr [EBP + 0xffffff0c]
MOV ESI,dword ptr [EBX + ESI*0x4]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [EAX + 0xc]
TEST EDI,EDI
JZ 0x0008c096
TEST ESI,ESI
JZ 0x000899b9
TEST byte ptr [ESI + 0x2a],0x10
JNZ 0x0008a108
MOV EAX,dword ptr [EDI + 0xb4]
CMP dword ptr [EDI + 0xb0],ESI
JNZ 0x00089257
TEST EAX,EAX
CMOVNZ ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + 0xffffff50],EAX
AND EAX,0x7fffffff
CMP EAX,0xfc
JA 0x00089830
MOV EDX,dword ptr [EBP + 0xffffff58]
MOV ECX,dword ptr [EDX + EAX*0x4 + 0xffed82f4]
ADD ECX,EDX
JMP ECX
MOV EDX,EAX
OR EDX,0x10
TEST byte ptr [EDI + 0x8],0x2
CMOVZ EAX,EDX
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x000a7d80
ADD ESP,0x10
TEST AL,AL
JZ 0x000899ee
TEST byte ptr [EDI + 0x8],0x2
JZ 0x00089ed0
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV EBX,dword ptr [EAX + 0x8]
TEST EBX,EBX
JZ 0x0008c0b4
CMP byte ptr [EBX + 0x1a25],0x0
JNZ 0x00089ed0
CMP byte ptr [EBX + 0x2931],0x0
JNZ 0x00089ed0
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + 0xffffff50],EAX
AND EAX,0x7fffffff
CALL 0x00051ac0
TEST AL,AL
JNZ 0x00089ed0
MOV EDI,dword ptr [EDI + 0x28]
TEST EDI,EDI
JZ 0x0008c3da
CMP byte ptr [EBX + 0x2b1c],0x0
MOV EAX,dword ptr [EDI + 0x50]
JZ 0x0008beec
MOV ECX,dword ptr [EBX + 0x2b20]
MOV EDX,0x1
SHL EDX,CL
MOV ECX,EDX
NEG EDX
LEA EBX,[EAX + ECX*0x1 + -0x1]
MOV dword ptr [EBP + -0x3c],ESI
LEA EAX,[EBP + -0x80]
AND EBX,EDX
LEA ESI,[EBP + -0x3c]
LEA EDX,[EDI + 0x30]
PUSH ESI
PUSH 0x0
PUSH EDX
PUSH EAX
MOV dword ptr [EBP + -0x38],EBX
CALL 0x000b03a0
ADD ESP,0xc
CMP byte ptr [EBP + -0x7c],0x0
JZ 0x00089370
ADD EBX,0x10
MOV dword ptr [EDI + 0x50],EBX
LEA ESI,[ESI]
NOP
MOV EDI,dword ptr [EBP + 0x8]
ADD dword ptr [EBP + 0xffffff5c],0x20
MOV EAX,dword ptr [EBP + 0xffffff5c]
CMP dword ptr [EDI + 0x78],EAX
JNZ 0x000891e0
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EAX + 0x64]
CMP ESI,dword ptr [EBP + 0xfffffee4]
SETNZ byte ptr [EBP + 0xffffff08]
MOV dword ptr [EBP + 0xffffff10],ESI
TEST ESI,ESI
JNZ 0x0008b9bf
MOV EAX,dword ptr [EBP + 0xffffff10]
MOV ESI,dword ptr [EBP + 0xfffffee4]
CMP EAX,ESI
JZ 0x0008949a
MOV ESI,dword ptr [EBP + 0x8]
SHL EAX,0x4
XOR EDX,EDX
MOV EBX,dword ptr [ESI + 0x24]
MOVZX ECX,byte ptr [EBX + 0x1c]
AND ECX,0xfffffffa
MOV byte ptr [EBX + 0x1c],CL
TEST CL,0x8
JNZ 0x0008b9cf
MOV dword ptr [EBX + 0xc],EAX
MOV EAX,dword ptr [EBX + 0x20]
OR ECX,0x2
MOV dword ptr [EBX + 0x10],EDX
MOV byte ptr [EBX + 0x1c],CL
OR byte ptr [EAX + 0x92],0x4
MOV ESI,dword ptr [EBX + 0x2c]
TEST ESI,ESI
JZ 0x0008949a
MOV dword ptr [EBP + 0xffffff54],0x0
MOVZX ECX,byte ptr [ESI + 0x1c]
MOV EDI,ECX
AND EDI,0xfffffffa
MOV EAX,EDI
MOV byte ptr [ESI + 0x1c],AL
MOV EAX,dword ptr [ESI]
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EDX,dword ptr [EAX + 0x3c]
MOV EAX,dword ptr [EBP + 0xffffff10]
LEA EAX,[EAX + EAX*0x2]
SHL EAX,0x3
AND EDI,0x8
MOV dword ptr [EBP + 0xffffff50],EAX
JZ 0x0008bafa
MOV EAX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EAX + 0xffc90380]
CMP EDX,EAX
JNZ 0x0008bb14
TEST byte ptr [ESI + 0x1c],0x2
JNZ 0x0008b9d8
MOV EAX,dword ptr [ESI]
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EBP + 0xffffff54]
SUB ESP,0xc
MOV dword ptr [ESI + 0xc],EAX
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [ESI + 0x10],EDX
PUSH ESI
CALL dword ptr [EAX + 0x38]
ADD ESP,0x10
TEST byte ptr [ESI + 0x1c],0x2
JZ 0x0008c197
MOV EAX,dword ptr [EBX + 0x2c]
MOV EAX,dword ptr [EAX + 0x20]
OR byte ptr [EAX + 0x92],0x4
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EAX + 0x50]
MOV EAX,dword ptr [EBP + 0xffffff58]
LEA ESI,[EAX + 0xffee2cdc]
MOV EAX,dword ptr [EBP + 0x8]
CMP EDI,dword ptr [EAX + 0x4c]
JZ 0x0008a784
MOV dword ptr [EBP + 0xffffff50],ESI
MOV ESI,EDI
MOV EDI,dword ptr [EBP + 0x8]
JMP 0x000894d2
LEA EAX,[ESI + -0x4]
CMP dword ptr [EDI + 0x4c],EAX
JZ 0x00089528
MOV ESI,EAX
MOV EAX,dword ptr [ESI + -0x4]
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EAX,dword ptr [EAX + 0x98]
TEST EAX,EAX
JZ 0x000894c8
MOV EDX,dword ptr [EBP + 0xffffff5c]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
LEA EAX,[EDX + 0x9c]
PUSH EAX
PUSH 0xc
PUSH dword ptr [EBP + 0xffffff50]
PUSH EDX
PUSH dword ptr [EBP + 0x18]
CALL 0x00107c70
MOV EDX,dword ptr [EBP + 0xffffff5c]
ADD ESP,0x20
LEA EAX,[ESI + -0x4]
MOV dword ptr [EDX + 0x98],0x0
CMP dword ptr [EDI + 0x4c],EAX
JNZ 0x000894d0
MOV EDI,ESI
MOV ESI,dword ptr [EBP + 0x8]
CMP EAX,dword ptr [ESI + 0x50]
JZ 0x0008a784
MOV ESI,dword ptr [EBP + 0xffffff58]
MOV EAX,dword ptr [EAX]
LEA EBX,[ESI + 0x4e8]
MOV EDX,dword ptr [EBX]
MOV dword ptr [EBP + 0xffffff40],EBX
MOV EDX,dword ptr [EDX + 0x8]
TEST EDX,EDX
JZ 0x0008c0b4
LEA ESI,[ESI + 0xffee2cdc]
MOV dword ptr [EBP + 0xffffff5c],EBX
MOV dword ptr [EBP + 0xffffff50],ESI
MOV ESI,dword ptr [EBP + 0x8]
JMP 0x00089588
MOV EDX,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EDI]
ADD EDI,0x4
MOV EDX,dword ptr [EDX]
MOV EDX,dword ptr [EDX + 0x8]
TEST EDX,EDX
JZ 0x0008c0b4
CMP byte ptr [EDX + 0x2105],0x0
JZ 0x00089657
MOV EDX,dword ptr [EAX + 0x34]
MOV EDX,dword ptr [EDX + 0x28]
TEST EDX,EDX
JZ 0x00089657
MOVZX ECX,byte ptr [EAX + 0x8c]
MOV EDX,dword ptr [EAX + 0x7c]
ADD EDX,dword ptr [EAX + 0x74]
ADD EDX,ECX
JZ 0x00089657
LEA EDX,[EAX + 0x9c]
LEA ECX,[EAX + 0xa5]
MOV dword ptr [EAX + 0x9c],0x0
MOV dword ptr [EDX + 0x4],0x0
MOV byte ptr [EDX + 0x8],0x0
MOV EBX,dword ptr [EAX + 0x94]
CMP EBX,-0x1
JZ 0x00089630
MOV ECX,EBX
SHR ECX,0x2
CMP EBX,0xff
JA 0x0008aec7
ADD ECX,0x40
LEA EBX,[EAX + 0xa6]
MOV byte ptr [EAX + 0xa5],CL
MOV ECX,0x4111
MOV word ptr [EBX],CX
MOV ECX,dword ptr [EAX + 0x34]
MOV ECX,dword ptr [ECX + 0x8]
MOV word ptr [EBX + 0x3],0x644
MOV byte ptr [EBX + 0x5],0x41
AND ECX,0x2
CMP ECX,0x1
SBB ECX,ECX
AND ECX,0xfffffffd
ADD ECX,0x7f
MOV byte ptr [EBX + 0x2],CL
LEA ECX,[EBX + 0x6]
SUB ESP,0x8
SUB ECX,EDX
MOV EBX,dword ptr [EBP + 0xffffff58]
MOV dword ptr [EAX + 0x98],ECX
PUSH ECX
PUSH EDX
PUSH 0xc
PUSH dword ptr [EBP + 0xffffff50]
PUSH EAX
PUSH dword ptr [EBP + 0x18]
CALL 0x00111200
ADD ESP,0x20
CMP dword ptr [ESI + 0x50],EDI
JNZ 0x00089570
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x54],0x1
MOV dword ptr [EBP + -0x50],0x0
MOV ESI,dword ptr [EAX + 0x4c]
LEA EAX,[EBP + -0x40]
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x58],EAX
LEA EAX,[EBP + -0x58]
MOV dword ptr [EBP + -0x48],0x3f800000
MOV dword ptr [EBP + -0x44],0x0
MOV dword ptr [EBP + -0x40],0x0
MOV dword ptr [EBP + 0xfffffef8],EAX
CMP ESI,EDI
JZ 0x0008a7bd
MOV EAX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EAX + 0xffc90410]
MOV dword ptr [EBP + 0xffffff48],EAX
JMP 0x00089744
MOV dword ptr [EBP + 0xffffff54],0x0
CMP dword ptr [EBP + 0xffffff5c],EAX
SBB EDX,dword ptr [EBP + 0xffffff54]
MOV dword ptr [EBP + 0xffffff50],EAX
JC 0x0008a750
MOV EAX,dword ptr [EBX + 0x74]
MOV EDX,dword ptr [EBX + 0x7c]
CMP dword ptr [EBX + 0x78],EAX
JNZ 0x000896f5
CMP EDX,dword ptr [EBX + 0x80]
JZ 0x00089735
MOV dword ptr [EBX + 0x80],EDX
SUB ESP,0x8
MOV EDI,dword ptr [EBP + 0xfffffef8]
LEA EDX,[EBP + -0x64]
MOV dword ptr [EBX + 0x78],EAX
MOV EAX,dword ptr [ESI]
MOV EAX,dword ptr [EAX + 0x20]
PUSH 0x1
PUSH 0x0
MOV dword ptr [EBP + -0x3c],EAX
LEA EAX,[EBP + 0xffffff60]
PUSH EDX
LEA EDX,[EBP + -0x3c]
PUSH EDX
PUSH EDI
PUSH EAX
MOV dword ptr [EBP + -0x64],EDI
CALL 0x000abee0
MOV byte ptr [EBP + 0xffffff08],0x1
ADD ESP,0x1c
MOV EAX,dword ptr [EBP + 0x8]
ADD ESI,0x4
CMP dword ptr [EAX + 0x50],ESI
JZ 0x0008a980
MOV EBX,dword ptr [ESI]
MOV EDI,dword ptr [EBX + 0x20]
MOV EAX,dword ptr [EDI]
MOV EAX,dword ptr [EAX + 0xc]
CMP EAX,dword ptr [EBP + 0xffffff48]
JNZ 0x0008a770
MOV EAX,dword ptr [EDI + 0x24]
MOV EDX,dword ptr [EDI + 0x28]
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV ECX,dword ptr [EAX]
MOV ECX,dword ptr [ECX + 0x8]
TEST ECX,ECX
JZ 0x0008c30a
MOV ECX,dword ptr [ECX + 0x2b20]
MOV EAX,0x1
SHL EAX,CL
CMP EAX,0x1f
JA 0x000896c0
MOV EAX,0x1f
CMP EAX,dword ptr [EBP + 0xffffff5c]
MOV EAX,0x0
SBB EAX,EDX
JC 0x000896e2
MOV dword ptr [EDI + 0x24],0x20
MOV dword ptr [EDI + 0x28],0x0
MOV dword ptr [EBP + 0xffffff50],0x20
MOV dword ptr [EBP + 0xffffff54],0x0
MOV EAX,dword ptr [EDI + 0xac]
TEST EAX,EAX
JZ 0x000896e2
MOV EDX,dword ptr [EBP + 0xffffff50]
MOV ECX,dword ptr [EBP + 0xffffff54]
MOV dword ptr [EAX + 0x4],EDX
MOV dword ptr [EAX + 0x8],ECX
JMP 0x000896e2
XOR EAX,EAX
JMP 0x00089295
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0xc
MOV EAX,dword ptr [EAX + 0x64]
MOV dword ptr [EBP + 0xfffffee4],EAX
MOV EAX,dword ptr [EBP + 0x8]
ADD EAX,0x58
PUSH EAX
CALL 0x000a8e50
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x4c]
CMP ESI,dword ptr [EAX + 0x50]
JZ 0x0008b10a
MOV EDI,EAX
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EBX,dword ptr [ESI]
ADD ESI,0x4
LEA EAX,[EBX + 0x38]
CALL 0x0004ebf0
MOV dword ptr [EBX + 0x74],0x0
LEA EAX,[EBX + 0x54]
CALL 0x0004eb90
MOV dword ptr [EBX + 0x7c],0x0
MOV byte ptr [EBX + 0x8c],0x0
MOV EAX,dword ptr [EDI + 0x50]
CMP EAX,ESI
JNZ 0x00089870
MOV ESI,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [ESI + 0x4c]
JMP 0x00089172
MOV EAX,dword ptr [EBP + 0x8]
CMP dword ptr [EAX + 0xa4],0x2
JG 0x00088ea6
SUB ESP,0xc
ADD EAX,0x58
PUSH EAX
CALL 0x000a8e50
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV ESI,dword ptr [EAX + 0x4c]
CMP ESI,dword ptr [EAX + 0x50]
JZ 0x00089930
MOV EDI,EAX
LEA ESI,[ESI]
NOP
MOV EBX,dword ptr [ESI]
ADD ESI,0x4
LEA EAX,[EBX + 0x38]
CALL 0x0004ebf0
MOV dword ptr [EBX + 0x74],0x0
LEA EAX,[EBX + 0x54]
CALL 0x0004eb90
MOV dword ptr [EBX + 0x7c],0x0
MOV byte ptr [EBX + 0x8c],0x0
MOV dword ptr [EBX + 0x78],0x0
MOV dword ptr [EBX + 0x80],0x0
CMP dword ptr [EDI + 0x50],ESI
JNZ 0x000898e0
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x4c]
CMP ESI,EAX
JZ 0x00089930
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [ESI + 0x50],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EAX + 0xa8]
TEST EDX,EDX
LEA EAX,[EDX + 0x3]
CMOVNS EAX,EDX
MOV EDX,dword ptr [EBP + 0xffffff58]
SUB ESP,0xc
SAR EAX,0x2
MOV EBX,EDX
LEA ESI,[EAX + EAX*0x2]
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0xa8],ESI
LEA EAX,[EDX + 0x738]
MOV EDI,dword ptr [EAX]
LEA EAX,[EDX + 0xffee36e4]
PUSH EAX
CALL 0x0002c440
ADD ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x000d1390
MOV EDX,dword ptr [EBP + 0x18]
MOV EAX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV ECX,0x1
CALL 0x0006f600
JMP 0x00088ea6
MOV EAX,dword ptr [EBP + 0xfffffef0]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [EAX + 0xc]
TEST EDI,EDI
JZ 0x0008c096
MOV EAX,dword ptr [EDI + 0xb0]
MOV ESI,dword ptr [EDI + 0xb4]
TEST EAX,EAX
JNZ 0x000899d1
TEST ESI,ESI
JNZ 0x00089257
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff58]
XOR ESI,ESI
PUSH ECX
PUSH EDX
CALL 0x001283f0
ADD ESP,0x10
TEST AL,AL
JNZ 0x00089ed0
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + 0xffffff50],EAX
AND EAX,0x7fffffff
LEA EDX,[EAX + -0xb]
CMP EDX,0x2
JBE 0x0008a558
LEA EDX,[EAX + 0x7ffffff6]
AND EDX,0x7ffffff7
JZ 0x00089a25
CMP EAX,0x17
JNZ 0x00089370
MOV dword ptr [EBP + 0xffffff10],0x2000000
MOV dword ptr [EBP + 0xffffff14],0x0
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x4]
MOV EBX,dword ptr [EDX + 0x84]
MOV EAX,dword ptr [EDX + 0x88]
MOV dword ptr [EBP + 0xffffff50],EDX
SUB EAX,EBX
SAR EAX,0x3
CMP ECX,EAX
JNC 0x0008bf9d
MOV EDX,dword ptr [EBX + ECX*0x8 + 0x4]
MOV EAX,dword ptr [EBX + ECX*0x8]
MOV EBX,EDX
MOV dword ptr [EBP + 0xffffff20],EAX
AND EBX,EAX
MOV dword ptr [EBP + 0xffffff24],EDX
CMP EBX,-0x1
JZ 0x0008c37b
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EBP + 0xffffff58]
MOV EAX,dword ptr [EAX]
LEA EBX,[EDX + 0xffc91850]
MOV EAX,dword ptr [EAX + 0x60]
CMP EAX,EBX
JNZ 0x0008ada0
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EBX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EAX + 0x3c]
SUB EAX,EBX
SAR EAX,0x2
CMP ECX,EAX
JNC 0x0008c314
MOV EAX,dword ptr [EBX + ECX*0x4]
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x0008bf5b
MOV EDX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [EBP + 0xffffff38],EAX
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + 0xffffff3c],EDX
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + 0xffffff2c],EDX
MOV dword ptr [EBP + 0xffffff28],EAX
TEST ESI,ESI
JZ 0x0008a5e0
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x7
JZ 0x0008a710
CMP AL,0x4
JZ 0x00089370
SUB ESP,0x4
LEA EAX,[EBP + -0x3c]
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
PUSH ESI
PUSH dword ptr [EBP + 0x14]
MOV dword ptr [EBP + 0xffffff48],EAX
CALL 0x001eb810
MOV ECX,dword ptr [EBP + -0x3c]
ADD ESP,0x10
MOV dword ptr [EBP + -0x58],EAX
MOV dword ptr [EBP + -0x54],EDX
TEST ECX,ECX
JNZ 0x00089370
MOVZX ECX,byte ptr [ESI + 0x29]
MOV EBX,0x1
SHR CL,0x5
SHL EBX,CL
AND EBX,0xfffffffc
MOV ECX,EBX
XOR EBX,EBX
ADD EAX,ECX
ADC EDX,EBX
MOV dword ptr [EBP + -0x58],EAX
MOV dword ptr [EBP + -0x54],EDX
MOV ECX,dword ptr [EBP + 0xffffff5c]
ADD EAX,dword ptr [ECX + 0x18]
ADC EDX,dword ptr [ECX + 0x1c]
MOV dword ptr [EBP + 0xfffffef8],EAX
MOV dword ptr [EBP + -0x58],EAX
MOV EAX,dword ptr [EBP + 0xffffff08]
MOV dword ptr [EBP + 0xfffffefc],EDX
MOV dword ptr [EBP + -0x54],EDX
MOV dword ptr [EBP + 0xffffff50],EAX
TEST EAX,EAX
JZ 0x0008bbda
TEST byte ptr [EDI + 0x8],0x2
JZ 0x0008b134
MOV ECX,dword ptr [EBP + 0xffffff10]
MOV EBX,dword ptr [EBP + 0xffffff14]
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV EDX,dword ptr [EBP + 0xffffff2c]
ADD EAX,dword ptr [EBP + 0xffffff20]
ADC EDX,dword ptr [EBP + 0xffffff24]
ADD EAX,dword ptr [EBP + 0xffffff38]
ADC EDX,dword ptr [EBP + 0xffffff3c]
MOV dword ptr [EBP + 0xffffff38],EAX
MOV EAX,ECX
SUB EAX,dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff3c],EDX
MOV EDX,EBX
SBB EDX,dword ptr [EBP + 0xffffff3c]
ADD EAX,dword ptr [EBP + 0xfffffef8]
ADC EDX,dword ptr [EBP + 0xfffffefc]
SHLD EBX,ECX,0x1
ADD ECX,ECX
CMP EAX,ECX
MOV EAX,EDX
SBB EAX,EBX
JC 0x00089370
MOV ECX,dword ptr [EBP + 0xffffff50]
TEST ECX,ECX
JZ 0x0008bd38
TEST ESI,ESI
JZ 0x0008bdf9
MOVZX EAX,byte ptr [ESI + 0x2a]
XOR EDX,EDX
MOV byte ptr [EBP + 0xfffffee3],0x0
AND EAX,0x7
CMP AL,0x1
JZ 0x0008bb90
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV ESI,dword ptr [EBP + 0xffffff50]
SUB ESP,0xc
MOV byte ptr [EBP + 0xffffff10],DL
MOV EBX,dword ptr [EBP + 0xffffff58]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + 0xffffff28],EAX
AND EAX,0x7fffffff
MOV dword ptr [EBP + 0xfffffedc],EAX
MOV EAX,dword ptr [ESI + 0x7c]
PUSH 0x1c
MOV dword ptr [EBP + 0xffffff20],EAX
CALL 0x00246670
MOV EBX,dword ptr [EBP + 0xfffffefc]
MOVZX EDX,byte ptr [EBP + 0xffffff10]
MOV dword ptr [EBP + -0x34],0x8000
MOV dword ptr [EAX],0x0
MOV EDI,EAX
MOV ECX,dword ptr [EBP + 0xfffffef8]
MOV dword ptr [EBP + -0x38],EBX
MOV EAX,dword ptr [EBP + -0x38]
MOV byte ptr [EBP + -0x30],DL
XOR EDX,EDX
MOV dword ptr [EDI + 0x8],EAX
MOV EAX,dword ptr [EBP + -0x30]
MOV dword ptr [EDI + 0x4],ECX
MOV dword ptr [EDI + 0x10],EAX
MOV EAX,dword ptr [EBP + 0xffffff20]
MOV dword ptr [EDI + 0xc],0x8000
MOV dword ptr [EDI + 0x14],EAX
MOV EAX,ECX
MOV dword ptr [EBP + -0x3c],ECX
MOV EBX,dword ptr [ESI + 0x58]
XOR AH,0x80
LEA ECX,[EDI + 0x4]
MOV dword ptr [EBP + 0xffffff10],EAX
DIV EBX
MOV dword ptr [EBP + 0xffffff50],ESI
MOV ESI,EDX
MOV EDX,dword ptr [EBP + 0xffffff50]
LEA EAX,[EDX + 0x54]
POP EDX
PUSH dword ptr [EBP + 0xffffff10]
MOV EDX,ESI
CALL 0x0004df50
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00089daf
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00089daf
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EDI
CALL 0x00248220
ADD ESP,0x10
MOV ESI,dword ptr [EBP + 0xfffffedc]
LEA EAX,[ESI + -0xb]
CMP EAX,0x2
JBE 0x0008bdd9
LEA EAX,[ESI + 0x7ffffff6]
TEST EAX,0x7ffffff7
JZ 0x00089d3e
CMP ESI,0x17
JNZ 0x00089370
MOV ESI,0x2000000
XOR EDI,EDI
MOV ECX,dword ptr [EBP + 0xffffff3c]
MOV EDX,dword ptr [EBP + 0xffffff38]
MOV EAX,ECX
AND EAX,EDX
CMP EAX,-0x1
JZ 0x0008c2e9
MOV EAX,dword ptr [EBP + 0xffffff50]
XOR EBX,EBX
CALL 0x00056b90
MOV ECX,dword ptr [EBP + 0xffffff20]
SUB ECX,dword ptr [EBP + 0xffffff38]
SBB EBX,dword ptr [EBP + 0xffffff3c]
ADD ECX,ESI
ADC EBX,EDI
ADD ECX,EAX
ADC EBX,EDX
SHLD EDI,ESI,0x1
ADD ESI,ESI
CMP ECX,ESI
MOV EAX,EBX
SBB EAX,EDI
JC 0x00089370
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x8]
TEST ECX,ECX
JNZ 0x0008a1d8
JMP 0x0008a2be
MOV EDX,dword ptr [EBP + 0xffffff50]
SUB ESP,0xc
MOV EAX,dword ptr [EDX + 0x68]
PUSH 0x1
ADD EDX,0x64
PUSH dword ptr [EDX + -0x4]
MOV dword ptr [EBP + 0xfffffed8],EAX
LEA EAX,[EBP + 0xffffff70]
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EDX
PUSH EAX
CALL 0x0028d8d0
MOV EAX,dword ptr [EBP + 0xffffff74]
ADD ESP,0x1c
CMP byte ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + 0xffffff28],EAX
JZ 0x0008bb25
CMP EAX,0x1
JZ 0x0008bf7c
MOV EAX,dword ptr [EBP + 0xffffff28]
CALL 0x00053420
MOV dword ptr [EBP + 0xfffffed8],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
ADD EAX,0x6c
MOV dword ptr [EBP + 0xfffffecc],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV ECX,dword ptr [EAX + 0x5c]
MOV dword ptr [EAX + 0x5c],0x0
TEST ECX,ECX
JZ 0x0008bcaf
MOV EDX,dword ptr [EBP + 0xffffff5c]
LEA ESI,[EAX + 0x5c]
MOV dword ptr [EBP + 0xfffffed4],0x0
MOV dword ptr [EBP + 0xfffffed0],ESI
MOV ESI,dword ptr [EBP + 0xfffffed8]
MOV dword ptr [EBP + 0xfffffec8],EDX
MOV dword ptr [EBP + 0xfffffec4],EDI
MOV dword ptr [EBP + 0xffffff5c],EAX
JMP 0x00089e7f
MOV EDX,dword ptr [EDI]
MOV dword ptr [ECX],EDX
MOV EAX,dword ptr [EAX]
MOV dword ptr [EAX],ECX
MOV ECX,EBX
TEST EBX,EBX
JZ 0x0008bc9d
MOV EAX,dword ptr [ECX + 0x18]
XOR EDX,EDX
MOV EBX,dword ptr [ECX]
DIV dword ptr [EBP + 0xffffff28]
LEA EAX,[ESI + EDX*0x4]
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JNZ 0x00089e6d
MOV EDI,dword ptr [EBP + 0xffffff5c]
MOV EDI,dword ptr [EDI + 0x5c]
MOV dword ptr [ECX],EDI
MOV EDI,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EDI + 0x5c],ECX
MOV EDI,dword ptr [EBP + 0xfffffed0]
MOV dword ptr [EAX],EDI
MOV EAX,dword ptr [ECX]
TEST EAX,EAX
JZ 0x0008bdce
MOV EAX,dword ptr [EBP + 0xfffffed4]
MOV dword ptr [EBP + 0xfffffed4],EDX
MOV dword ptr [ESI + EAX*0x4],ECX
JMP 0x00089e75
MOV EDI,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [EDI + 0x4]
MOV EDI,dword ptr [EBP + 0xffffff08]
TEST EDI,EDI
JZ 0x0008a578
MOV dword ptr [EBP + 0xffffff50],EDI
MOV EBX,dword ptr [EAX + 0x84]
MOV ECX,dword ptr [EAX + 0x88]
SUB ECX,EBX
SAR ECX,0x3
CMP ECX,EDX
JBE 0x0008bf9d
MOV ECX,dword ptr [EBX + EDX*0x8]
MOV EBX,dword ptr [EBX + EDX*0x8 + 0x4]
MOV EDI,EBX
MOV dword ptr [EBP + 0xffffff38],ECX
AND EDI,ECX
MOV dword ptr [EBP + 0xffffff3c],EBX
CMP EDI,-0x1
JZ 0x00089f87
MOV ECX,dword ptr [EAX]
MOV EDI,dword ptr [EBP + 0xffffff58]
MOV ECX,dword ptr [ECX + 0x60]
LEA EBX,[EDI + 0xffc91850]
CMP ECX,EBX
JNZ 0x0008a700
MOV ECX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EAX + 0x3c]
SUB EAX,ECX
SAR EAX,0x2
CMP EAX,EDX
JBE 0x0008c314
MOV EAX,dword ptr [ECX + EDX*0x4]
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x0008bf5b
MOV EDI,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EBP + 0xffffff38]
MOV EBX,dword ptr [EBP + 0xffffff3c]
ADD ECX,dword ptr [EDI + 0x8]
ADC EBX,dword ptr [EDI + 0xc]
ADD ECX,dword ptr [EAX + 0x4]
ADC EBX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + 0xffffff38],ECX
MOV dword ptr [EBP + 0xffffff3c],EBX
MOV EDI,dword ptr [EBP + 0xffffff5c]
MOV EDX,dword ptr [EBP + 0xffffff50]
MOVZX EAX,byte ptr [EDI + 0x13]
MOV ECX,dword ptr [EDI + 0x18]
ADD EDX,0x38
MOV EBX,dword ptr [EDI + 0x1c]
MOV byte ptr [EBP + 0xffffff20],AL
MOV EAX,dword ptr [EDI + 0x10]
MOV dword ptr [EBP + 0xfffffef8],ECX
MOV EDI,EAX
MOV EAX,dword ptr [EDX + 0x3c]
MOV dword ptr [EBP + 0xfffffefc],EBX
AND EDI,0x7fffffff
MOV dword ptr [EBP + 0xffffff48],EAX
MOV dword ptr [EBP + 0xffffff28],EAX
MOV EAX,dword ptr [EDX + 0xc]
MOV dword ptr [EBP + 0xffffff10],EAX
AND EAX,0x3fffffff
TEST ESI,ESI
JZ 0x0008a310
MOV dword ptr [EBP + -0x34],ECX
MOV ECX,dword ptr [EBP + 0xffffff48]
MOV dword ptr [EBP + -0x3c],ESI
MOV dword ptr [EBP + -0x28],ECX
MOV ECX,dword ptr [EBP + -0x24]
MOV dword ptr [EBP + -0x38],0x0
AND ECX,0xc0000000
MOV dword ptr [EBP + -0x30],EBX
OR EAX,ECX
LEA ECX,[EBP + -0x3c]
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x24],EAX
SHR EAX,0x18
AND EAX,0x3f
MOV dword ptr [EBP + 0xffffff48],ECX
MOV byte ptr [EBP + -0x21],AL
LEA EAX,[EBP + 0xffffff78]
CALL 0x000553c0
MOV EAX,dword ptr [EBP + 0xffffff78]
CMP byte ptr [EBP + 0xffffff7c],0x0
MOV dword ptr [EBP + 0xffffff10],EAX
JNZ 0x0008a4a8
CMP byte ptr [EBP + 0xffffff20],0x0
JS 0x0008a05f
MOV EAX,dword ptr [EBP + 0xffffff10]
CMP byte ptr [EAX + 0x1f],0x0
JS 0x0008a05f
OR byte ptr [EAX + 0x1f],0x40
LEA EAX,[EDI + -0xb]
CMP EAX,0x2
JBE 0x0008a6e0
LEA EAX,[EDI + 0x7ffffff6]
TEST EAX,0x7ffffff7
JZ 0x0008a081
CMP EDI,0x17
JNZ 0x00089370
MOV dword ptr [EBP + 0xffffff20],0x2000000
MOV dword ptr [EBP + 0xffffff24],0x0
MOV EDI,dword ptr [EBP + 0xffffff3c]
MOV ESI,dword ptr [EBP + 0xffffff38]
MOV EAX,EDI
AND EAX,ESI
CMP EAX,-0x1
JZ 0x0008c2e9
MOV dword ptr [EBP + 0xffffff2c],0x0
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV dword ptr [EBP + 0xffffff28],EAX
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c192
MOV ECX,dword ptr [EAX + 0x2b20]
MOV ESI,0x1
MOV EAX,0x20
SHL ESI,CL
CMP ESI,0x20
CMOVC ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
XOR EDI,EDI
TEST byte ptr [EAX + 0x1c],0x1
JNZ 0x0008a150
CALL 0x00052f10
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH ESI
PUSH dword ptr [EBP + 0x14]
CALL 0x001e6f30
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [EDI + 0xb4]
CMP dword ptr [EDI + 0xb0],ESI
JNZ 0x0008a135
TEST EAX,EAX
JNZ 0x0008adb8
TEST ESI,ESI
JNZ 0x00089257
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x14]
JMP 0x000899d1
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV ECX,ESI
MOV EBX,EDI
ADD ECX,-0x1
ADC EBX,-0x1
ADD ECX,dword ptr [EAX + 0x4]
ADC EBX,dword ptr [EAX + 0x8]
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x70]
ADD EAX,ECX
ADC EDX,EBX
NEG ESI
MOV ECX,EAX
ADC EDI,0x0
MOV EAX,EDX
AND ECX,ESI
MOV EDX,dword ptr [EBP + 0xffffff2c]
NEG EDI
MOV dword ptr [EBP + 0xffffff00],ECX
AND EAX,EDI
MOV dword ptr [EBP + 0xffffff04],EAX
MOV EAX,dword ptr [EBP + 0xffffff28]
ADD EAX,dword ptr [EBP + 0xffffff00]
ADC EDX,dword ptr [EBP + 0xffffff04]
MOV ESI,dword ptr [EBP + 0xffffff20]
SUB EAX,dword ptr [EBP + 0xffffff38]
MOV EDI,dword ptr [EBP + 0xffffff24]
SBB EDX,dword ptr [EBP + 0xffffff3c]
ADD EAX,ESI
ADC EDX,EDI
SHLD EDI,ESI,0x1
ADD ESI,ESI
CMP EAX,ESI
MOV EAX,EDX
SBB EAX,EDI
JC 0x00089370
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + 0x14],0x40
JZ 0x0008a2be
MOV EDI,dword ptr [EBP + 0xffffff50]
MOV ESI,dword ptr [EAX]
SUB ESP,0x4
MOV EAX,dword ptr [EDI + 0x2c]
MOV EDX,dword ptr [EAX]
PUSH dword ptr [EDI + 0x30]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff48]
CALL dword ptr [EDX + 0x40]
MOV EAX,dword ptr [EDI + 0x2c]
MOV ECX,dword ptr [EBP + 0xffffff58]
MOV EBX,dword ptr [EBP + -0x3c]
ADD ESP,0xc
MOV EDI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EBP + 0xffffff5c]
LEA ECX,[ECX + 0xffc9d430]
MOV EDX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + 0xffffff50],EDX
MOV EDX,EAX
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EDX + 0x4]
MOV dword ptr [EBP + 0xffffff48],EDX
MOV EDX,dword ptr [EAX]
MOV EDX,dword ptr [EDX + 0x40]
CMP EDX,ECX
JNZ 0x0008af22
SUB ESP,0x4
LEA EDX,[EBP + -0x58]
ADD EAX,0x90
PUSH dword ptr [EBP + 0xffffff48]
PUSH EAX
PUSH EDX
CALL 0x000b1290
ADD ESP,0xc
MOV EAX,dword ptr [EBP + 0xffffff5c]
SUB ESP,0x4
PUSH EBX
MOV EAX,dword ptr [EAX]
PUSH EDI
MOV EDI,dword ptr [EBP + 0xffffff58]
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + -0x58]
MOV EBX,EDI
PUSH dword ptr [EAX + 0x4]
LEA EAX,[EDI + 0xffee3760]
PUSH EAX
PUSH ESI
CALL 0x000d1270
MOV EAX,dword ptr [EBP + -0x58]
LEA EDX,[EBP + -0x50]
ADD ESP,0x20
CMP EAX,EDX
JZ 0x0008a2a2
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x3c]
LEA EDX,[EBP + -0x34]
CMP EAX,EDX
JZ 0x0008a2be
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0xa1],0x0
JNZ 0x00089370
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EBP + 0x8]
MOV byte ptr [EAX + 0xa1],0x1
MOV EAX,dword ptr [EAX + 0xa4]
MOV dword ptr [EBP + 0xffffff50],EAX
ADD EAX,0x1
MOV dword ptr [ESI + 0xa4],EAX
CMP EAX,0x2
JG 0x00089370
MOV byte ptr [EBP + 0xffffff08],0x1
MOVZX EAX,byte ptr [EBP + 0xffffff08]
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ESI,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EBP + 0xfffffef8]
MOV EBX,dword ptr [ESI + 0x14]
MOV ESI,dword ptr [ESI]
MOV dword ptr [EBP + -0x34],ECX
MOV ECX,dword ptr [EBP + 0xffffff28]
MOV dword ptr [EBP + -0x3c],0x0
MOV dword ptr [EBP + 0xffffff48],EBX
MOV dword ptr [EBP + -0x28],ECX
MOV ECX,dword ptr [EBP + -0x24]
MOV dword ptr [EBP + 0xffffff10],EBX
MOV EBX,dword ptr [EBP + 0xfffffefc]
AND ECX,0xc0000000
MOV dword ptr [EBP + -0x38],ESI
OR EAX,ECX
MOV dword ptr [EBP + -0x30],EBX
MOV EBX,dword ptr [EBP + 0xffffff48]
MOV dword ptr [EBP + -0x24],EAX
SHR EAX,0x18
AND EAX,0x3f
MOV dword ptr [EBP + -0x2c],EBX
LEA EBX,[EBP + -0x3c]
MOV byte ptr [EBP + -0x21],AL
MOV ECX,EBX
LEA EAX,[EBP + 0xffffff78]
MOV dword ptr [EBP + 0xffffff48],EBX
CALL 0x000553c0
CMP byte ptr [EBP + 0xffffff7c],0x0
MOV EBX,dword ptr [EBP + 0xffffff78]
JNZ 0x0008adc0
CMP byte ptr [EBP + 0xffffff20],0x0
JS 0x0008a3a8
CMP byte ptr [EBX + 0x1f],0x0
JS 0x0008a3a8
OR byte ptr [EBX + 0x1f],0x40
LEA EAX,[EDI + -0xb]
CMP EAX,0x2
JBE 0x0008af09
LEA EAX,[EDI + 0x7ffffff6]
TEST EAX,0x7ffffff7
JZ 0x0008a3ca
CMP EDI,0x17
JNZ 0x00089370
MOV dword ptr [EBP + 0xffffff20],0x2000000
MOV dword ptr [EBP + 0xffffff24],0x0
MOV EDI,dword ptr [EBP + 0xffffff3c]
MOV ESI,dword ptr [EBP + 0xffffff38]
MOV EAX,EDI
AND EAX,ESI
CMP EAX,-0x1
JZ 0x0008c2e9
MOV dword ptr [EBP + 0xffffff2c],0x0
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV dword ptr [EBP + 0xffffff28],EAX
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c192
MOV ECX,dword ptr [EAX + 0x2b20]
MOV ESI,0x1
MOV EAX,0x20
SHL ESI,CL
CMP ESI,0x20
CMOVC ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
XOR EDI,EDI
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x0008a0fd
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV ECX,ESI
MOV EBX,EDI
ADD ECX,-0x1
ADC EBX,-0x1
ADD ECX,dword ptr [EAX + 0x4]
ADC EBX,dword ptr [EAX + 0x8]
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x70]
ADD EAX,ECX
ADC EDX,EBX
NEG ESI
MOV EBX,EAX
ADC EDI,0x0
MOV EAX,EDX
AND EBX,ESI
MOV EDX,dword ptr [EBP + 0xffffff2c]
NEG EDI
MOV dword ptr [EBP + 0xfffffee8],EBX
AND EAX,EDI
MOV dword ptr [EBP + 0xfffffeec],EAX
MOV EAX,dword ptr [EBP + 0xffffff28]
ADD EAX,dword ptr [EBP + 0xfffffee8]
ADC EDX,dword ptr [EBP + 0xfffffeec]
JMP 0x0008a1a2
MOV EBX,dword ptr [EBP + 0xffffff50]
MOV EDX,EAX
MOV EAX,EBX
CALL 0x00065740
ADD EAX,dword ptr [EBP + 0xffffff28]
MOV dword ptr [EBX + 0x74],EAX
MOV EAX,dword ptr [EBX + 0x34]
TEST byte ptr [EAX + 0x8],0x2
JZ 0x0008a4e8
CMP byte ptr [EAX + 0x9d],0x0
JZ 0x0008a4e8
MOVZX EDX,byte ptr [ESI + 0x28]
AND EDX,0xf
CMP DL,0x2
JZ 0x0008bc3e
LEA ESI,[ESI]
MOV EDX,dword ptr [EAX + 0xb4]
TEST EDX,EDX
JZ 0x0008a506
CMP dword ptr [EAX + 0xb0],ESI
JZ 0x0008aeeb
CMP EDX,ESI
JZ 0x0008aeeb
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EAX + 0x74]
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c376
CMP byte ptr [EAX + 0x2b1c],0x0
JZ 0x0008b125
MOV ECX,dword ptr [EAX + 0x2b20]
MOV EAX,0x1
SHL EAX,CL
MOV ECX,EAX
NEG ECX
LEA EAX,[EDX + EAX*0x1 + -0x1]
MOV ESI,dword ptr [EBP + 0xffffff50]
AND EAX,ECX
MOV dword ptr [ESI + 0x74],EAX
JMP 0x0008a046
MOV dword ptr [EBP + 0xffffff10],0x8000
MOV dword ptr [EBP + 0xffffff14],0x0
JMP 0x00089a39
MOV EBX,dword ptr [EAX + 0x1a4]
MOV ECX,dword ptr [EAX + 0x1a8]
SUB ECX,EBX
SAR ECX,0x2
CMP ECX,EDX
JBE 0x0008a5c3
MOV EDI,dword ptr [EBP + 0xffffff40]
MOV ECX,dword ptr [EDI]
MOV ECX,dword ptr [ECX + 0xc]
TEST ECX,ECX
JZ 0x0008c3f9
MOV EDI,dword ptr [EBX + EDX*0x4]
MOV EBX,dword ptr [ECX + 0x4c]
MOV ECX,dword ptr [ECX + 0x50]
SUB ECX,EBX
SAR ECX,0x2
CMP EDI,ECX
JNC 0x0008a5c3
MOV EDI,dword ptr [EBX + EDI*0x4]
MOV dword ptr [EBP + 0xffffff50],EDI
TEST EDI,EDI
JNZ 0x00089eef
MOV EDI,dword ptr [EBP + 0xfffffef4]
TEST EDI,EDI
JZ 0x0008c270
MOV EDI,dword ptr [EBP + 0xfffffef4]
JMP 0x00089ee9
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0x14]
MOV EBX,dword ptr [ECX + 0xdc]
MOV EAX,dword ptr [ECX + 0xe0]
SUB EAX,EBX
SAR EAX,0x2
IMUL EAX,EAX,-0x33333333
CMP EDX,EAX
JNC 0x0008c291
LEA EAX,[EDX + EDX*0x4]
MOV dword ptr [EBP + -0x3c],0x0
LEA EAX,[EBX + EAX*0x4]
MOV dword ptr [EBP + -0x38],0xffffffff
MOV dword ptr [EBP + -0x34],0x80000000
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x2c],0x0
TEST byte ptr [EAX + 0xb],0x10
JZ 0x0008a63d
OR byte ptr [EBP + -0x31],0x10
SUB ESP,0xc
LEA EBX,[EBP + -0x3c]
PUSH dword ptr [EBP + 0x14]
PUSH EBX
PUSH EAX
PUSH EDX
PUSH ECX
MOV dword ptr [EBP + 0xffffff48],EBX
MOV EBX,dword ptr [EBP + 0xffffff58]
CALL 0x001290d0
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x0008aeb1
CMP byte ptr [EBP + -0x31],0x0
JNS 0x0008aeb1
MOV EBX,dword ptr [EBP + 0xffffff5c]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBX]
PUSH dword ptr [EBP + 0xffffff48]
CALL 0x000a9940
POP ECX
MOV ECX,dword ptr [EBX]
MOV dword ptr [EBP + 0xffffff5c],EBX
MOV dword ptr [EBP + -0x58],EAX
MOV EBX,dword ptr [ECX + 0x1b0]
MOV ECX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + -0x54],EDX
MOV ECX,dword ptr [ECX + 0x14]
MOVZX ECX,byte ptr [EBX + ECX*0x1]
MOV EBX,0x1
PUSH dword ptr [EBP + 0xffffff48]
SAR ECX,0x5
SHL EBX,CL
AND EBX,0xfffffffc
MOV ECX,EBX
XOR EBX,EBX
ADD EAX,ECX
ADC EDX,EBX
MOV dword ptr [EBP + -0x58],EAX
MOV dword ptr [EBP + -0x54],EDX
CALL 0x000aa480
MOV EAX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EBP + -0x54]
ADD ESP,0x10
JMP 0x00089b5e
MOV dword ptr [EBP + 0xffffff20],0x8000
MOV dword ptr [EBP + 0xffffff24],0x0
JMP 0x0008a095
SUB ESP,0x8
PUSH EDX
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x00089f53
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x00089370
MOV EDX,dword ptr [EAX]
MOV EBX,dword ptr [EBP + 0xffffff58]
MOV EDX,dword ptr [EDX + 0x14]
LEA ECX,[EBX + 0xffc90280]
CMP EDX,ECX
JNZ 0x0008bcfb
MOV EBX,dword ptr [ESI + 0xc]
TEST EBX,EBX
JNZ 0x00089b0f
JMP 0x00089370
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EBP + 0xffffff54]
MOV dword ptr [EDI + 0x24],EAX
MOV dword ptr [EDI + 0x28],EDX
JMP 0x000897c9
SUB ESP,0xc
PUSH EDI
CALL EAX
MOV dword ptr [EBP + 0xffffff5c],EAX
ADD ESP,0x10
JMP 0x00089766
LEA EAX,[EBP + -0x40]
MOV dword ptr [EBP + -0x54],0x1
MOV dword ptr [EBP + -0x58],EAX
LEA EAX,[EBP + -0x58]
MOV dword ptr [EBP + -0x50],0x0
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x48],0x3f800000
MOV dword ptr [EBP + -0x44],0x0
MOV dword ptr [EBP + -0x40],0x0
MOV dword ptr [EBP + 0xfffffef8],EAX
CMP byte ptr [EBP + 0xffffff08],0x0
JNZ 0x0008ad00
MOV EAX,dword ptr [EBP + 0xffffff10]
TEST EAX,EAX
JZ 0x0008af37
MOV EAX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EAX + 0x4e8]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c35a
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x0008ba00
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EAX + 0x24]
MOVZX EAX,byte ptr [ESI + 0x1c]
TEST AL,0x8
JNZ 0x0008a818
AND EAX,0xfffffffd
MOV byte ptr [ESI + 0x1c],AL
MOV EDI,dword ptr [ESI + 0x2c]
MOVZX EAX,byte ptr [EDI + 0x1c]
MOV dword ptr [EBP + 0xffffff5c],EDI
TEST AL,0x8
JZ 0x0008bad7
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EAX + 0x60]
TEST EDI,EDI
JZ 0x0008b19c
LEA EAX,[EBP + -0x3c]
MOV dword ptr [EBP + 0xffffff48],EAX
JMP 0x0008a903
MOV EDX,dword ptr [EBP + -0x3c]
ADD EAX,0x24
MOV dword ptr [EAX + -0x24],EDX
MOV EDX,dword ptr [EBP + -0x38]
MOV dword ptr [EAX + -0x20],EDX
MOV EDX,dword ptr [EBP + -0x34]
MOV dword ptr [EAX + -0x1c],EDX
MOV EDX,dword ptr [EBP + -0x30]
MOV dword ptr [EAX + -0x18],EDX
MOV EDX,dword ptr [EBP + -0x2c]
MOV dword ptr [EAX + -0x14],EDX
MOV EDX,dword ptr [EBP + -0x28]
MOV dword ptr [EAX + -0x10],EDX
MOV EDX,dword ptr [EBP + -0x24]
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [EBP + -0x20]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [EBP + -0x1c]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [ECX + 0x38],EAX
MOV EDX,dword ptr [EBP + 0xffffff5c]
XOR EBX,EBX
SUB EAX,dword ptr [EDX + 0x34]
SAR EAX,0x2
IMUL EAX,EAX,0x38e38e39
LEA ECX,[EAX + EAX*0x2]
SHL ECX,0x3
TEST byte ptr [EDX + 0x1c],0x2
JNZ 0x0008c3bb
MOV EDX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EDX + 0xc],ECX
MOV dword ptr [EDX + 0x10],EBX
OR byte ptr [ESI + 0x1c],0x10
TEST byte ptr [EBP + -0x25],0x10
JZ 0x0008a8ca
ADD dword ptr [EDX + 0x2c],0x1
CMP dword ptr [EBP + -0x24],-0x4
MOV EDX,dword ptr [EBP + -0x38]
JZ 0x0008a8ea
TEST EDX,EDX
JZ 0x0008a8ea
MOV ECX,dword ptr [EDX + 0x64]
TEST ECX,ECX
JNZ 0x0008a8e4
SUB EAX,0x1
MOV dword ptr [EDX + 0x60],EAX
ADD ECX,0x1
MOV dword ptr [EDX + 0x64],ECX
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EDI]
MOV ESI,dword ptr [EAX + 0x24]
TEST EDI,EDI
JZ 0x0008b19c
MOV EAX,dword ptr [ESI + 0x2c]
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EAX,dword ptr [EDI + 0x4]
MOV EDX,dword ptr [EDI + 0x8]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff58]
MOV dword ptr [EBP + 0xffffff50],EAX
MOV EAX,dword ptr [EDI + 0xc]
MOV dword ptr [EBP + 0xffffff54],EDX
XOR EDX,EDX
PUSH 0x1
PUSH EDX
PUSH EAX
PUSH ESI
PUSH 0x16
PUSH dword ptr [EBP + 0xffffff48]
CALL 0x0016dd00
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EBP + 0xffffff54]
ADD ESP,0x20
MOV ECX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + -0x20],EAX
MOV dword ptr [EBP + -0x1c],EDX
MOV EAX,dword ptr [ECX + 0x38]
CMP EAX,dword ptr [ECX + 0x3c]
JNZ 0x0008a850
MOV EBX,dword ptr [EBP + 0xffffff5c]
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff48]
PUSH EAX
LEA EAX,[EBX + 0x34]
PUSH EAX
CALL 0x000ad050
ADD ESP,0x10
MOV EAX,dword ptr [EBX + 0x38]
JMP 0x0008a88c
MOV EAX,dword ptr [EBP + -0x50]
MOV dword ptr [EBP + 0xffffff20],EAX
TEST EAX,EAX
JZ 0x0008a7bd
LEA ESI,[ESI]
MOV dword ptr [EBP + 0xffffff50],0x0
MOV EAX,dword ptr [EBP + 0xffffff20]
MOV dword ptr [EBP + 0xffffff54],0x0
MOV EAX,dword ptr [EAX + 0x4]
MOV ESI,dword ptr [EAX + 0x6c]
MOV dword ptr [EBP + 0xffffff48],EAX
MOV dword ptr [EBP + 0xffffff5c],ESI
CMP ESI,dword ptr [EAX + 0x70]
JNZ 0x0008aa87
JMP 0x0008acd0
CMP ESI,-0x4
JC 0x0008aab8
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EDI,dword ptr [EBP + 0xffffff58]
MOV EAX,dword ptr [EAX + 0x10]
LEA ECX,[EDI + 0xffc903d0]
MOV EDX,dword ptr [EAX]
MOV EDX,dword ptr [EDX + 0xc]
CMP EDX,ECX
JNZ 0x0008ad88
MOV EDX,dword ptr [EAX + 0x28]
MOV EAX,dword ptr [EAX + 0x24]
MOV EDI,EDX
OR EDI,EAX
JZ 0x0008aa40
MOV ECX,dword ptr [EBP + 0xffffff50]
MOV EBX,dword ptr [EBP + 0xffffff54]
ADD ECX,-0x1
ADC EBX,-0x1
ADD ECX,EAX
ADC EBX,EDX
MOV EDI,ECX
NEG EAX
ADC EDX,0x0
AND EDI,EAX
NEG EDX
MOV dword ptr [EBP + 0xffffff50],EDI
MOV EDI,EBX
AND EDI,EDX
MOV dword ptr [EBP + 0xffffff54],EDI
LEA EBX,[ESI + 0x3]
CMP EBX,0x2
JA 0x0008aab8
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff5c]
MOV EBX,dword ptr [EBP + 0xffffff58]
CALL 0x0015c5c0
ADD ESP,0x10
ADD dword ptr [EBP + 0xffffff50],EAX
ADC dword ptr [EBP + 0xffffff54],EDX
MOV EDI,dword ptr [EBP + 0xffffff48]
ADD dword ptr [EBP + 0xffffff5c],0x18
MOV EAX,dword ptr [EBP + 0xffffff5c]
CMP dword ptr [EDI + 0x70],EAX
JZ 0x0008acd0
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EAX + 0x4]
MOV ESI,dword ptr [EAX]
TEST ECX,ECX
JZ 0x0008a9d8
SUB ECX,0x1
XOR EAX,EAX
XOR EDX,EDX
TEST CL,0x20
SETZ AL
SETNZ DL
SHL EDX,CL
SHL EAX,CL
JMP 0x0008aa09
MOV EDI,dword ptr [EBP + 0xffffff5c]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EDI
CALL 0x0015c600
MOV EBX,dword ptr [EBP + 0xffffff58]
MOV ESI,EAX
MOV dword ptr [ESP],EDI
CALL 0x0015c690
MOV EDX,dword ptr [ESI]
ADD ESP,0x10
PUSH dword ptr [EBP + 0xffffff54]
PUSH dword ptr [EBP + 0xffffff50]
PUSH EAX
PUSH ESI
CALL dword ptr [EDX + 0xdc]
ADD ESP,0x10
CMP dword ptr [EDI],-0x4
JNZ 0x0008aa48
MOV dword ptr [EBP + 0xffffff3c],0x0
MOV EBX,dword ptr [EDI + 0x10]
XOR EDX,EDX
MOV EAX,dword ptr [EBX + 0x70]
ADD EAX,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EBP + 0xffffff28],EAX
ADC EDX,dword ptr [EBP + 0xffffff54]
MOV EAX,dword ptr [EBX + 0x7c]
ADD EAX,dword ptr [EBX + 0x74]
MOV dword ptr [EBP + 0xffffff2c],EDX
CMP byte ptr [EBX + 0x8c],0x0
MOV dword ptr [EBP + 0xffffff38],EAX
JZ 0x0008ab66
MOV EAX,dword ptr [EBX + 0x34]
MOV EAX,dword ptr [EAX + 0xac]
TEST byte ptr [EAX + 0x1c],0x2
JZ 0x0008c033
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0xc]
ADD dword ptr [EBP + 0xffffff38],EAX
ADC dword ptr [EBP + 0xffffff3c],EDX
MOV EDI,dword ptr [EBP + 0xffffff3c]
MOV ESI,dword ptr [EBP + 0xffffff38]
MOV EDX,EDI
OR EDX,ESI
JNZ 0x0008ad20
MOV ESI,dword ptr [EBX + 0x84]
MOV EAX,dword ptr [EBP + 0xffffff38]
MOV EDX,dword ptr [EBP + 0xffffff3c]
SUB EAX,dword ptr [EBP + 0xffffff50]
MOV EDI,dword ptr [EBX + 0x88]
SBB EDX,dword ptr [EBP + 0xffffff54]
MOV dword ptr [EBP + 0xffffff38],ESI
ADD EAX,dword ptr [EBP + 0xffffff28]
ADC EDX,dword ptr [EBP + 0xffffff2c]
CMP ESI,EAX
MOV dword ptr [EBP + 0xffffff3c],EDI
SBB EDI,EDX
JNC 0x0008abca
MOV dword ptr [EBP + 0xffffff38],EAX
MOV dword ptr [EBP + 0xffffff3c],EDX
MOVZX EDX,byte ptr [EBX + 0x1c]
MOV EAX,EDX
AND EAX,0xfffffffa
MOV byte ptr [EBX + 0x1c],AL
TEST AL,0x8
JNZ 0x0008aca0
AND EDX,0xfffffff8
MOV byte ptr [EBX + 0x1c],DL
MOV EAX,dword ptr [EBP + 0xffffff38]
MOV EDX,dword ptr [EBP + 0xffffff3c]
MOV dword ptr [EBX + 0xc],EAX
MOV EAX,dword ptr [EBP + 0xffffff48]
MOV dword ptr [EBX + 0x10],EDX
MOVZX ECX,byte ptr [EAX + 0x1c]
TEST CL,0x4
JZ 0x0008c054
MOV ESI,dword ptr [EBP + 0xffffff48]
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EBP + 0xffffff54]
ADD EAX,dword ptr [ESI + 0x14]
ADC EDX,dword ptr [ESI + 0x18]
AND ECX,0x1
JZ 0x0008bfbe
MOV ECX,dword ptr [EBP + 0xffffff48]
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV EDI,dword ptr [EBP + 0xffffff54]
ADD ESI,dword ptr [ECX + 0x4]
ADC EDI,dword ptr [ECX + 0x8]
MOV dword ptr [EBX + 0x14],EAX
SUB ESP,0xc
MOV EAX,dword ptr [EBX]
MOV dword ptr [EBX + 0x4],ESI
MOV dword ptr [EBX + 0x8],EDI
MOV dword ptr [EBX + 0x18],EDX
OR byte ptr [EBX + 0x1c],0x5
PUSH EBX
CALL dword ptr [EAX + 0x38]
ADD ESP,0x10
TEST byte ptr [EBX + 0x1c],0x2
JZ 0x0008c012
MOV EAX,dword ptr [EBP + 0xffffff38]
MOV EDX,dword ptr [EBP + 0xffffff3c]
ADD dword ptr [EBP + 0xffffff50],EAX
ADC dword ptr [EBP + 0xffffff54],EDX
CMP dword ptr [EBP + 0xc],0x3
JLE 0x0008aa6b
MOV dword ptr [EBX + 0x84],EAX
MOV dword ptr [EBX + 0x88],EDX
JMP 0x0008aa6b
TEST AL,0x2
JZ 0x0008abe4
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1e60]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x231
PUSH EAX
CALL 0x000da200
MOV EAX,dword ptr [EBP + 0xffffff48]
AND byte ptr [EAX + 0x92],0xfb
MOV EAX,dword ptr [EBP + 0xffffff20]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff20],EAX
TEST EAX,EAX
JNZ 0x0008a998
CMP byte ptr [EBP + 0xffffff08],0x0
JZ 0x0008a7ca
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffef8]
CALL 0x000a91a0
MOVZX EAX,byte ptr [EBP + 0xffffff08]
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c30f
MOV ECX,dword ptr [EAX + 0x2b20]
MOV EAX,0x1
MOV ESI,0x20
SHL EAX,CL
CMP EAX,0x20
CMOVC EAX,ESI
XOR EDX,EDX
MOV EDI,EDX
MOV ESI,EAX
ADD ESI,-0x1
ADC EDI,-0x1
ADD ESI,dword ptr [EBP + 0xffffff28]
ADC EDI,dword ptr [EBP + 0xffffff2c]
NEG EAX
ADC EDX,0x0
MOV ECX,ESI
NEG EDX
AND ECX,EAX
MOV EAX,EDX
MOV dword ptr [EBP + 0xffffff28],ECX
AND EAX,EDI
MOV dword ptr [EBP + 0xffffff2c],EAX
JMP 0x0008ab7c
SUB ESP,0xc
PUSH EAX
CALL EDX
MOV ESI,dword ptr [EBP + 0xffffff5c]
ADD ESP,0x10
MOV ESI,dword ptr [ESI]
JMP 0x0008aa09
SUB ESP,0x8
PUSH ECX
PUSH dword ptr [EBP + 0xffffff50]
CALL EAX
ADD ESP,0x10
JMP 0x00089abe
MOV ESI,EAX
JMP 0x00089257
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,EBX
CALL 0x00065740
MOV EDX,dword ptr [EBP + 0xffffff50]
ADD EAX,dword ptr [EBP + 0xffffff28]
MOV dword ptr [EDX + 0x74],EAX
MOV EDX,dword ptr [EBP + 0xffffff40]
MOV EDX,dword ptr [EDX]
MOV EDX,dword ptr [EDX + 0x8]
TEST EDX,EDX
JZ 0x0008c376
CMP byte ptr [EDX + 0x2b1c],0x0
JZ 0x0008bc2f
MOV ECX,dword ptr [EDX + 0x2b20]
MOV EDX,0x1
SHL EDX,CL
MOV ECX,EDX
NEG ECX
LEA EAX,[EAX + EDX*0x1 + -0x1]
MOV EDX,dword ptr [EBP + 0xffffff50]
AND EAX,ECX
MOV dword ptr [EDX + 0x74],EAX
MOV EAX,dword ptr [EDX + 0x34]
TEST byte ptr [EAX + 0x8],0x2
JZ 0x0008a395
CMP byte ptr [EAX + 0x9d],0x0
JZ 0x0008a395
MOV EAX,dword ptr [ESI + 0x1b0]
MOV ECX,dword ptr [EBP + 0xffffff10]
TEST byte ptr [EAX + ECX*0x1],0xe0
JNZ 0x0008a395
MOV EDX,dword ptr [ESI + 0xdc]
MOV EAX,dword ptr [ESI + 0xe0]
SUB EAX,EDX
SAR EAX,0x2
IMUL EAX,EAX,-0x33333333
CMP ECX,EAX
JNC 0x0008c265
MOV EAX,dword ptr [EBP + 0xffffff10]
LEA EAX,[EAX + EAX*0x4]
LEA EDX,[EDX + EAX*0x4]
MOVZX EAX,byte ptr [EDX + 0xb]
TEST AL,0x40
JNZ 0x0008a395
TEST dword ptr [EDX + 0x8],0x7ffffff
JZ 0x0008a395
TEST AL,0x8
JZ 0x0008a395
OR byte ptr [EBX + 0x1f],0x80
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX + 0x34]
MOV byte ptr [EAX + 0x9f],0x1
JMP 0x0008a395
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff48]
CALL 0x000aa480
ADD ESP,0x10
JMP 0x00089370
CMP EBX,0x3ff
JA 0x0008b177
MOV byte ptr [EAX + 0xa5],0x2
LEA EBX,[EAX + 0xa7]
MOV byte ptr [EAX + 0xa6],CL
JMP 0x00089604
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV byte ptr [EAX + 0xa0],0x1
MOV EDX,dword ptr [ESI + 0x74]
LEA EAX,[EDX + -0x14]
MOV dword ptr [ESI + 0x94],EAX
JMP 0x0008a50f
MOV dword ptr [EBP + 0xffffff20],0x8000
MOV dword ptr [EBP + 0xffffff24],0x0
JMP 0x0008a3de
SUB ESP,0x4
LEA ECX,[EBP + -0x58]
PUSH dword ptr [EBP + 0xffffff48]
PUSH EAX
PUSH ECX
CALL EDX
JMP 0x0008a258
CMP byte ptr [EBP + 0xffffff08],0x0
JNZ 0x0008ad00
MOV EAX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EAX + 0x4e8]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c1fa
CMP byte ptr [EAX + 0x1040],0x0
JZ 0x0008af7f
CMP byte ptr [EAX + 0x1041],0x0
JZ 0x0008ad00
MOV EAX,dword ptr [EBP + 0x8]
LEA ESI,[EBP + -0x6d]
MOV dword ptr [EBP + 0xfffffef4],ESI
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x4c]
MOV dword ptr [EBP + 0xffffff00],EAX
CMP EAX,dword ptr [ESI + 0x50]
JZ 0x0008b353
MOV EAX,dword ptr [EBP + 0xffffff00]
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EAX + 0x44]
MOV dword ptr [EBP + 0xffffff5c],EAX
TEST ESI,ESI
JNZ 0x0008b3c0
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EAX + 0x5c]
MOV dword ptr [EBP + 0xffffff50],EAX
TEST EAX,EAX
JZ 0x0008b33a
MOV EAX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EAX + 0xffee307e]
MOV dword ptr [EBP + 0xffffff28],EAX
LEA ESI,[ESI]
MOV ESI,dword ptr [EBP + 0xffffff50]
CMP byte ptr [ESI + 0x10],0x0
JNZ 0x0008b324
SUB ESP,0xc
MOV EDI,dword ptr [EBP + 0xffffff58]
PUSH 0x26
MOV EBX,EDI
CALL 0x002465f0
POP EDI
PUSH dword ptr [ESI + 0x8]
PUSH dword ptr [ESI + 0x4]
MOV ESI,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + 0xffffff48],EAX
PUSH dword ptr [ESI + 0x90]
PUSH dword ptr [EBP + 0xffffff28]
PUSH EAX
CALL 0x0002c390
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x20
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c0d2
MOV ECX,dword ptr [EAX + 0x2b20]
MOV ESI,0x1
MOV EAX,0x20
SHL ESI,CL
CMP ESI,0x20
CMOVC ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff5c]
XOR EDI,EDI
TEST byte ptr [EAX + 0x1c],0x1
JNZ 0x0008b1f8
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
LEA EAX,[EAX + 0x4e8]
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xffffff40],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST byte ptr [ESI + 0x8],0x2
JZ 0x0008ba12
XOR EDI,EDI
MOV ESI,dword ptr [EBP + 0x8]
MOV EDX,EDI
MOV byte ptr [ESI + 0x9c],DL
TEST EAX,EAX
JZ 0x0008c0b4
MOV ECX,dword ptr [EAX + 0x38a8]
MOV EAX,dword ptr [EBP + 0x8]
CMP ECX,0x1
JZ 0x0008bbcb
CMP ECX,-0x1
JZ 0x0008bde5
MOV dword ptr [EAX + 0xa8],ECX
XOR ECX,ECX
MOV EDX,dword ptr [EBP + 0x18]
MOV EAX,dword ptr [EBP + 0x8]
CALL 0x0006f600
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EAX + 0x4c]
CMP dword ptr [EAX + 0x50],EDX
JNZ 0x00088eb5
MOV dword ptr [EBP + 0xfffffee4],0x0
MOV dword ptr [EBP + 0xfffffef4],0x0
MOV EAX,dword ptr [EBP + 0x8]
XOR ECX,ECX
MOV byte ptr [EAX + 0xa1],0x0
JMP 0x00089196
MOV ECX,0xffffffe0
MOV EAX,0x20
JMP 0x0008a540
SUB ESP,0x4
LEA EAX,[EBP + -0x58]
PUSH dword ptr [EBP + 0xffffff48]
MOV EDX,dword ptr [EBP + 0x14]
PUSH EAX
MOV ECX,ESI
MOV EAX,dword ptr [EBP + 0xffffff5c]
PUSH dword ptr [EAX]
MOV EAX,EDI
CALL 0x00088b60
ADD ESP,0x10
TEST AL,AL
JZ 0x00089370
MOV EAX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EBP + -0x54]
MOV dword ptr [EBP + 0xfffffef8],EAX
MOV dword ptr [EBP + 0xfffffefc],EDX
JMP 0x00089b9a
CMP EBX,0x3ffff
JA 0x0008bae2
MOV byte ptr [EAX + 0xa5],0x3
LEA EBX,[EAX + 0xa8]
MOV word ptr [EAX + 0xa6],CX
JMP 0x00089604
MOVZX EAX,byte ptr [ESI + 0x1c]
TEST AL,0x2
JNZ 0x0008b1b2
TEST AL,0x8
JNZ 0x0008c246
OR EAX,0x2
MOV byte ptr [ESI + 0x1c],AL
MOV EBX,dword ptr [ESI + 0x2c]
TEST byte ptr [EBX + 0x1c],0x2
JNZ 0x0008af56
MOV EAX,dword ptr [EBX]
SUB ESP,0xc
PUSH EBX
CALL dword ptr [EAX + 0x38]
ADD ESP,0x10
TEST byte ptr [EBX + 0x1c],0x2
JNZ 0x0008af56
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH ESI
LEA EAX,[EBX + 0xffee1c78]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x163
PUSH EAX
CALL 0x000da200
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV ECX,ESI
MOV EBX,EDI
ADD ECX,-0x1
MOV EDX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
ADC EBX,-0x1
ADD ECX,EAX
MOV dword ptr [EBP + 0xffffff3c],EDX
ADC EBX,EDX
MOV EDX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + 0xffffff38],EAX
MOV EAX,dword ptr [EDX + 0x70]
XOR EDX,EDX
ADD EAX,ECX
ADC EDX,EBX
NEG ESI
MOV EBX,EAX
ADC EDI,0x0
AND EBX,ESI
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EBP + 0xffffff30],EBX
MOV EBX,EDX
MOV EDX,dword ptr [EBP + 0xffffff5c]
NEG EDI
MOV ESI,dword ptr [ESI + 0x14]
AND EBX,EDI
XOR EDI,EDI
MOV EAX,dword ptr [EDX + 0x74]
XOR EDX,EDX
SUB EAX,dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + 0xffffff34],EBX
SBB EDX,dword ptr [EBP + 0xffffff3c]
ADD EAX,dword ptr [EBP + 0xffffff30]
ADC EDX,dword ptr [EBP + 0xffffff34]
ADD EAX,ESI
ADC EDX,EDI
MOV dword ptr [EBP + 0xffffff38],EAX
MOV EAX,0x2000000
XOR EBX,EBX
MOV dword ptr [EBP + 0xffffff3c],EDX
MOV EDX,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EDX + 0x78]
XOR EDX,EDX
SUB EAX,ECX
MOV ECX,dword ptr [EBP + 0xffffff50]
SBB EDX,EBX
SUB EAX,dword ptr [EBP + 0xffffff30]
SBB EDX,dword ptr [EBP + 0xffffff34]
ADD EAX,dword ptr [ECX + 0x4]
ADC EDX,dword ptr [ECX + 0x8]
MOV ECX,0x3ffffff
SUB EAX,ESI
SBB EDX,EDI
CMP ECX,EAX
MOV EAX,0x0
SBB EAX,EDX
MOV EAX,0x4
MOV EDX,0x0
JNC 0x0008b2d9
MOV EAX,0x10
XOR EDX,EDX
MOV EDI,dword ptr [EBP + 0xffffff3c]
MOV ESI,dword ptr [EBP + 0xffffff38]
SUB ESP,0x4
PUSH 0x0
MOV EBX,dword ptr [EBP + 0xffffff58]
MOV ECX,EDI
SHR ECX,0x1f
PUSH ECX
PUSH 0x0
PUSH 0x2
PUSH 0x0
PUSH 0x0
PUSH EDX
PUSH EAX
PUSH EDI
PUSH ESI
PUSH dword ptr [EBP + 0xffffff5c]
PUSH 0x5
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff48]
PUSH dword ptr [EBP + 0x14]
CALL 0x001e98f0
MOV dword ptr [EAX + 0x14],0xffffffff
ADD ESP,0x40
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff50],EAX
TEST EAX,EAX
JNZ 0x0008afe8
MOV ESI,dword ptr [EBP + 0x8]
ADD dword ptr [EBP + 0xffffff00],0x4
MOV EAX,dword ptr [EBP + 0xffffff00]
CMP dword ptr [ESI + 0x50],EAX
JNZ 0x0008afa0
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x28]
TEST EAX,EAX
JZ 0x0008ad00
MOV EDX,dword ptr [EAX + 0x2c]
MOV ECX,0x2c
XOR EBX,EBX
TEST byte ptr [EDX + 0x8],0x2
JZ 0x0008b378
MOV ECX,0x38
XOR EBX,EBX
SUB ESP,0x4
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH 0x2
PUSH 0x0
PUSH 0x0
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH ECX
PUSH 0x0
PUSH 0x8
PUSH EAX
LEA EAX,[EBX + 0xffee3094]
PUSH 0x5
PUSH 0x0
PUSH EAX
PUSH dword ptr [EBP + 0x14]
CALL 0x001e98f0
ADD ESP,0x40
MOV dword ptr [EAX + 0x14],0xffffffff
JMP 0x0008ad00
CMP ESI,0x3fffffff
JA 0x0008c2b0
SHL ESI,0x2
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH ESI
CALL 0x00246670
MOV dword ptr [EBP + 0xffffff0c],EAX
ADD ESP,0x10
ADD ESI,EAX
MOV dword ptr [EAX],0x0
ADD EAX,0x4
CMP EAX,ESI
JNZ 0x0008b3e9
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EBP + 0xffffff0c]
MOV EAX,dword ptr [EAX + 0x40]
TEST EAX,EAX
JZ 0x0008b41c
LEA ESI,[ESI]
MOV EDX,dword ptr [EAX + 0x1c]
MOV dword ptr [ECX + EDX*0x4],EAX
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x0008b410
MOV dword ptr [EBP + 0xffffff28],0x0
LEA EAX,[EBP + -0x3c]
MOV dword ptr [EBP + 0xffffff48],EAX
LEA EAX,[EBP + -0x64]
MOV dword ptr [EBP + 0xffffff38],EAX
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EAX + 0x44]
TEST ECX,ECX
JZ 0x0008b83a
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff0c]
MOV ESI,dword ptr [EBP + 0xffffff28]
MOV byte ptr [EBP + -0x64],0x0
MOV ESI,dword ptr [EAX + ESI*0x4]
MOV EAX,dword ptr [ESI + 0xc]
MOV dword ptr [EBP + 0xffffff50],ESI
MOV EDI,EAX
OR EDI,dword ptr [ESI + 0x10]
JNZ 0x0008b8a0
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV byte ptr [EBP + -0x3c],0x0
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008b4ac
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
PUSH dword ptr [EAX + 0x13c]
LEA EAX,[EBX + 0xffee3065]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff48]
CALL 0x0002c390
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX + 0x4]
TEST EAX,EAX
JZ 0x0008b930
MOV ESI,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [ESI + 0x34]
MOV EDX,dword ptr [ECX + 0xb4]
TEST EDX,EDX
JZ 0x0008b4e4
CMP dword ptr [ECX + 0xb0],EAX
JZ 0x0008b628
CMP EAX,EDX
JZ 0x0008b628
MOV ESI,dword ptr [EAX]
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDI,dword ptr [EBP + 0xffffff48]
MOV EBX,EAX
MOV EDX,dword ptr [EDI]
ADD EDI,0x4
LEA EAX,[EDX + 0xfefefeff]
NOT EDX
AND EAX,EDX
AND EAX,0x80808080
JZ 0x0008b4f4
MOV EDX,EAX
MOV dword ptr [EBP + 0xffffff50],EBX
MOV EBX,dword ptr [EBP + 0xffffff58]
SHR EDX,0x10
TEST EAX,0x8080
CMOVZ EAX,EDX
LEA EDX,[EDI + 0x2]
CMOVZ EDI,EDX
MOV EDX,EAX
ADD DL,AL
SBB EDI,0x3
SUB ESP,0xc
SUB EDI,dword ptr [EBP + 0xffffff48]
PUSH ESI
CALL 0x0002c330
MOV ECX,dword ptr [EBP + 0xffffff38]
ADD ESP,0x10
MOV EBX,dword ptr [ECX]
ADD ECX,0x4
LEA EDX,[EBX + 0xfefefeff]
NOT EBX
AND EDX,EBX
AND EDX,0x80808080
JZ 0x0008b548
MOV EBX,EDX
LEA EAX,[EDI + EAX*0x1 + 0x13]
MOV EDI,dword ptr [EBP + 0xffffff58]
SHR EBX,0x10
TEST EDX,0x8080
CMOVZ EDX,EBX
LEA EBX,[ECX + 0x2]
CMOVZ ECX,EBX
MOV EBX,EDX
ADD BL,DL
MOV EBX,EDI
SBB ECX,0x3
SUB ECX,dword ptr [EBP + 0xffffff38]
SUB ESP,0xc
ADD ECX,EAX
PUSH ECX
CALL 0x002465f0
MOV ECX,EAX
MOV dword ptr [EBP + 0xffffff20],EAX
POP EAX
MOV EAX,dword ptr [EBP + 0xffffff5c]
POP EDX
PUSH dword ptr [EBP + 0xffffff38]
PUSH ESI
PUSH dword ptr [EBP + 0xffffff48]
PUSH dword ptr [EAX + 0x90]
LEA EAX,[EDI + 0xffee3069]
PUSH EAX
PUSH ECX
CALL 0x0002c390
MOV EAX,dword ptr [EBP + 0xffffff40]
ADD ESP,0x20
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0008c0f0
MOV ECX,dword ptr [EAX + 0x2b20]
MOV ESI,0x1
MOV EAX,0x20
SHL ESI,CL
CMP ESI,0x20
CMOVC ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff5c]
XOR EDI,EDI
TEST byte ptr [EAX + 0x1c],0x1
JNZ 0x0008b630
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
MOV ESI,dword ptr [EDX]
JMP 0x0008b4e6
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV ECX,ESI
MOV EBX,EDI
ADD ECX,-0x1
MOV EDX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
ADC EBX,-0x1
ADD ECX,EAX
MOV dword ptr [EBP + 0xffffff14],EDX
ADC EBX,EDX
MOV EDX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + 0xffffff10],EAX
MOV EAX,dword ptr [EDX + 0x70]
XOR EDX,EDX
ADD EAX,ECX
ADC EDX,EBX
MOV ECX,EAX
NEG ESI
ADC EDI,0x0
AND ECX,ESI
MOV ESI,dword ptr [EBP + 0xffffff50]
NEG EDI
MOV dword ptr [EBP + 0xffffff18],ECX
MOV ECX,EDX
AND ECX,EDI
MOV EAX,dword ptr [ESI + 0x18]
MOV ESI,dword ptr [ESI + 0x4]
MOV dword ptr [EBP + 0xffffff1c],ECX
MOV ECX,dword ptr [EBP + 0xffffff18]
SUB ECX,dword ptr [EBP + 0xffffff10]
MOV EBX,dword ptr [EBP + 0xffffff1c]
SBB EBX,dword ptr [EBP + 0xffffff14]
XOR EDX,EDX
ADD ECX,EAX
ADC EBX,EDX
MOV EDX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + 0xffffff10],ECX
MOV dword ptr [EBP + 0xffffff14],EBX
MOV EBX,dword ptr [EDX + 0x34]
TEST ESI,ESI
JZ 0x0008b8c8
MOVZX EAX,byte ptr [ESI + 0x28]
AND EAX,0xf
CMP AL,0xa
JZ 0x0008b968
MOV EBX,dword ptr [EBX + 0x18]
TEST EBX,EBX
JZ 0x0008c2c8
MOV EAX,dword ptr [ESI + 0x18]
CMP EAX,-0x1
JZ 0x0008c10e
TEST byte ptr [EBX + 0x1c],0x1
JZ 0x0008c12f
MOV ESI,dword ptr [EBP + 0xffffff5c]
MOV ECX,dword ptr [EBX + 0x4]
MOV ESI,dword ptr [ESI + 0x34]
MOV EDI,dword ptr [ESI + 0x14]
TEST EDI,EDI
JZ 0x0008c150
MOV EDI,dword ptr [EDI + 0x20]
TEST byte ptr [EDI + 0x1c],0x1
JZ 0x0008bff1
SUB EAX,dword ptr [EDI + 0x4]
MOV EBX,dword ptr [ESI + 0xb0]
ADD EAX,0xffff8000
MOV EDI,dword ptr [EBP + 0xffffff50]
ADD EAX,ECX
MOV dword ptr [EBP + 0xffffff50],EBX
MOV EBX,dword ptr [ESI + 0xb4]
LEA ECX,[EAX + 0x8000]
MOV EDI,dword ptr [EDI + 0x4]
SHR ECX,0x10
CMP ECX,0x1
SBB EDX,EDX
AND EDX,0xfffffffc
ADD EDX,0x14
TEST EBX,EBX
JZ 0x0008b76c
CMP EDI,dword ptr [EBP + 0xffffff50]
JZ 0x0008b890
CMP EDI,EBX
JZ 0x0008b890
MOV EDI,dword ptr [EBP + 0xffffff40]
MOV EBX,dword ptr [EDI]
MOV EBX,dword ptr [EBX + 0x8]
TEST byte ptr [ESI + 0x8],0x2
JNZ 0x0008b860
TEST EBX,EBX
JZ 0x0008c220
MOVZX EDI,byte ptr [EBX + 0x2bdd]
MOVZX ESI,byte ptr [ESI + 0x9c]
LEA EAX,[EAX + EDI*0x8 + 0x8008]
LEA ESI,[EDI + ESI*0x2 + 0x1]
SHL ESI,0x2
SHR EAX,0x10
CMP ECX,EAX
LEA EDI,[ESI + 0x4]
CMOVNZ ESI,EDI
ADD EDX,ESI
CMP byte ptr [EBX + 0x2b1c],0x0
JZ 0x0008b920
MOV ECX,dword ptr [EBX + 0x2b20]
MOV EAX,0x1
SHL EAX,CL
MOV EBX,EAX
NEG EBX
MOV EDI,dword ptr [EBP + 0xffffff14]
LEA EAX,[EDX + EAX*0x1 + -0x1]
SUB ESP,0x4
XOR EDX,EDX
AND EBX,EAX
PUSH 0x0
MOV ESI,dword ptr [EBP + 0xffffff10]
MOV ECX,EDI
SHR ECX,0x1f
PUSH ECX
PUSH 0x0
PUSH 0x2
PUSH 0x0
PUSH 0x0
PUSH EDX
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EDI
MOV EDI,dword ptr [EBP + 0xffffff5c]
PUSH ESI
PUSH EDI
PUSH 0x5
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff20]
PUSH dword ptr [EBP + 0x14]
CALL 0x001e98f0
MOV dword ptr [EAX + 0x14],0xffffffff
ADD ESP,0x40
ADD dword ptr [EBP + 0xffffff28],0x1
MOV EAX,dword ptr [EBP + 0xffffff28]
CMP dword ptr [EDI + 0x44],EAX
JA 0x0008b450
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff0c]
MOV EBX,dword ptr [EBP + 0xffffff58]
CALL 0x00248220
ADD ESP,0x10
JMP 0x0008afb9
TEST EBX,EBX
JNZ 0x0008b7b2
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee23a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
ADD EDX,0x34
JMP 0x0008b76c
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xffee3061]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff38]
CALL 0x0002c390
ADD ESP,0x10
JMP 0x0008b477
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EDX,dword ptr [EAX + 0x8]
MOV ECX,dword ptr [EAX + 0x14]
MOV ESI,dword ptr [EDX + 0xdc]
MOV EAX,dword ptr [EDX + 0xe0]
SUB EAX,ESI
SAR EAX,0x2
IMUL EAX,EAX,-0x33333333
CMP ECX,EAX
JNC 0x0008c225
LEA EAX,[ECX + ECX*0x4]
TEST byte ptr [ESI + EAX*0x4 + 0xb],0x40
JZ 0x0008b960
MOV EBX,dword ptr [EBX + 0x1c]
TEST EBX,EBX
JZ 0x0008c39c
MOV EAX,dword ptr [EDX]
SUB ESP,0x8
PUSH ECX
PUSH EDX
CALL dword ptr [EAX + 0xa8]
ADD ESP,0x10
JMP 0x0008b6ed
MOV EBX,0xffffffe0
MOV EAX,0x20
JMP 0x0008b7d0
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
MOV ESI,dword ptr [EBP + 0xfffffef4]
PUSH dword ptr [EAX + 0x14]
LEA EAX,[EBX + 0xffee3062]
PUSH EAX
PUSH ESI
CALL 0x0002c390
ADD ESP,0x10
JMP 0x0008b4e6
MOV EBX,dword ptr [EBX + 0x20]
JMP 0x0008b908
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x7
JZ 0x0008b9a0
CMP AL,0x4
JZ 0x0008b6d6
SUB ESP,0xc
PUSH ESI
CALL 0x000a7920
ADD ESP,0x10
TEST AL,AL
JNZ 0x0008b6d6
MOV EBX,dword ptr [EBX + 0x1c]
TEST EBX,EBX
JNZ 0x0008b6e1
CALL 0x00051cf0
LEA ESI,[ESI]
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x0008b6d6
MOV EAX,dword ptr [ESI + 0xc]
TEST EAX,EAX
JNZ 0x0008b979
TEST byte ptr [ESI + 0x2b],0x20
JZ 0x0008b979
JMP 0x0008b6d6
MOV EDX,dword ptr [EBP + 0x18]
MOV EAX,dword ptr [EBP + 0x8]
CALL 0x0005c350
JMP 0x000893aa
AND ECX,0x2
JZ 0x0008c335
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1e60]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x231
PUSH EAX
CALL 0x000da200
CMP byte ptr [EAX + 0x2931],0x0
JZ 0x0008af69
JMP 0x0008a804
TEST EAX,EAX
JZ 0x0008c0b4
MOVZX EDI,byte ptr [EAX + 0x2c59]
MOV EDX,EDI
TEST DL,DL
JNZ 0x0008bbae
CMP byte ptr [EAX + 0x2c58],0x0
JNZ 0x0008bbae
MOVZX EDI,byte ptr [EAX + 0x1a25]
MOV EDX,EDI
TEST DL,DL
JNZ 0x0008bbae
MOV EAX,dword ptr [EBP + 0xffffff58]
MOV EDI,dword ptr [EBP + 0x14]
MOV byte ptr [EBP + 0xffffff50],DL
LEA ECX,[EAX + 0xffff25c4]
LEA ESI,[EAX + 0xffff261c]
MOV dword ptr [EBP + 0xffffff5c],ECX
LEA EAX,[EAX + 0xffee30e0]
JMP 0x0008ba89
MOV EDX,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [EDX]
ADD EDX,0x4
MOV dword ptr [EBP + 0xffffff5c],EDX
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH 0x0
PUSH EAX
PUSH EDI
CALL 0x001e9100
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0008bab8
CMP byte ptr [EAX + 0x2a],0x0
JNS 0x0008bab8
MOVZX EDX,byte ptr [EAX + 0x2b]
SHR DL,0x6
AND EDX,0x1
JNZ 0x0008bfdf
CMP ESI,dword ptr [EBP + 0xffffff5c]
JNZ 0x0008ba78
MOV EAX,dword ptr [EBP + 0xffffff40]
MOVZX EDI,byte ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
JMP 0x0008b0b0
AND EAX,0xfffffffd
MOV byte ptr [EDI + 0x1c],AL
JMP 0x0008a82d
MOV byte ptr [EAX + 0xa5],0x4
LEA EBX,[EAX + 0xaa]
MOV dword ptr [EAX + 0xa6],ECX
JMP 0x00089604
MOV EAX,dword ptr [EBP + 0xffffff58]
AND ECX,0xfffffff8
MOV byte ptr [ESI + 0x1c],CL
LEA EAX,[EAX + 0xffc90380]
CMP EDX,EAX
JZ 0x00089461
SUB ESP,0xc
PUSH ESI
CALL EDX
MOV ESI,dword ptr [EBX + 0x2c]
ADD ESP,0x10
JMP 0x0008944f
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX + 0x54]
MOV dword ptr [EBP + 0xfffffed8],EAX
MOV EAX,dword ptr [EBP + 0xffffff10]
LEA EBX,[ESI*0x4 + 0x0]
MOV dword ptr [EDI + 0x18],EAX
MOV EAX,dword ptr [EBP + 0xfffffed8]
MOV EAX,dword ptr [EAX + ESI*0x4]
TEST EAX,EAX
JZ 0x0008beb3
MOV EAX,dword ptr [EAX]
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX + 0x54]
MOV EAX,dword ptr [EAX + ESI*0x4]
MOV dword ptr [EAX],EDI
MOV EAX,dword ptr [EBP + 0xffffff50]
ADD dword ptr [EAX + 0x60],0x1
CMP byte ptr [EBP + 0xfffffee3],0x0
JZ 0x0008be07
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV byte ptr [EAX + 0x8c],0x1
JMP 0x00089d16
MOV EAX,dword ptr [EDI + 0xac]
CMP dword ptr [ESI + 0x8],EAX
SETZ byte ptr [EBP + 0xfffffee3]
MOVZX EAX,byte ptr [EBP + 0xfffffee3]
MOV EDX,EAX
JMP 0x00089c32
MOV ESI,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EAX + 0x38a8]
MOV EDX,EDI
MOV EAX,dword ptr [EBP + 0x8]
MOV byte ptr [ESI + 0x9c],DL
CMP ECX,0x1
JNZ 0x0008b0d5
MOV dword ptr [EAX + 0xa8],0x1c00000
JMP 0x0008b0e6
MOV EAX,dword ptr [ECX]
MOV ECX,dword ptr [ECX + 0x4]
MOV EDX,dword ptr [EAX + 0x1a4]
MOV EAX,dword ptr [EAX + 0x1a8]
SUB EAX,EDX
SAR EAX,0x2
CMP ECX,EAX
JNC 0x0008bf11
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0008c3f9
MOV ECX,dword ptr [EDX + ECX*0x4]
MOV EDX,dword ptr [EAX + 0x4c]
MOV EAX,dword ptr [EAX + 0x50]
SUB EAX,EDX
SAR EAX,0x2
CMP ECX,EAX
JNC 0x00089b90
MOV EAX,dword ptr [EDX + ECX*0x4]
MOV dword ptr [EBP + 0xffffff50],EAX
JMP 0x00089b90
MOV ECX,0xffffffe0
MOV EDX,0x20
JMP 0x0008ae0d
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x7
JNZ 0x0008bf22
MOV EAX,dword ptr [ESI + 0xc]
TEST byte ptr [ESI + 0x2b],0x20
JZ 0x0008bf2c
TEST EAX,EAX
SETNZ AL
TEST AL,AL
JZ 0x0008bc8f
TEST byte ptr [ESI + 0x29],0xe0
JNZ 0x0008bc8f
TEST byte ptr [ESI + 0x2c],0x10
JNZ 0x0008bc8f
MOV EAX,dword ptr [EBP + 0xffffff10]
OR byte ptr [EAX + 0x1f],0x80
MOV EDX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EDX + 0x34]
MOV byte ptr [EAX + 0x9f],0x1
MOV EAX,dword ptr [EDX + 0x34]
JMP 0x0008a4e8
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX + 0x34]
JMP 0x0008a4e8
MOV EAX,dword ptr [EBP + 0xfffffec8]
MOV EDI,dword ptr [EBP + 0xfffffec4]
MOV dword ptr [EBP + 0xffffff5c],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX + 0x54]
CMP EAX,dword ptr [EBP + 0xfffffecc]
JZ 0x0008bcd2
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV ESI,dword ptr [EBP + 0xffffff28]
MOV EDX,dword ptr [EBP + 0xfffffed8]
MOV dword ptr [EAX + 0x58],ESI
MOV dword ptr [EAX + 0x54],EDX
MOV EAX,dword ptr [EBP + 0xffffff10]
XOR EDX,EDX
DIV ESI
MOV ESI,EDX
JMP 0x0008bb34
SUB ESP,0xc
PUSH EAX
CALL EDX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00089370
TEST byte ptr [ESI + 0x2a],0x7
JZ 0x0008a736
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH ESI
LEA EAX,[EBX + 0xffee21a4]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0xaa
PUSH EAX
CALL 0x000da200
MOV ESI,dword ptr [EBP + 0xffffff5c]
MOV EAX,dword ptr [ESI]
MOV ECX,dword ptr [ESI + 0x4]
MOV ESI,dword ptr [EBP + 0xffffff58]
MOV EDX,dword ptr [EAX]
LEA EBX,[ESI + 0xffc9d430]
MOV EDX,dword ptr [EDX + 0x40]
CMP EDX,EBX
JNZ 0x0008bf46
SUB ESP,0x4
ADD EAX,0x90
PUSH ECX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff48]
CALL 0x000b1290
ADD ESP,0xc
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV EDX,dword ptr [EBP + 0xffffff58]
SUB ESP,0xc
MOV EDI,dword ptr [EBP + -0x3c]
MOV EAX,dword ptr [EAX]
MOV EBX,EDX
MOV ESI,dword ptr [EAX + 0x4]
LEA EAX,[EDX + 0xffee3718]
PUSH EAX
CALL 0x0002c440
ADD ESP,0xc
PUSH EDI
PUSH ESI
MOV ESI,dword ptr [EBP + 0xffffff58]
PUSH EAX
MOV EBX,ESI
CALL 0x000d1360
MOV EAX,dword ptr [EBP + -0x3c]
LEA EDX,[EBP + -0x34]
ADD ESP,0x10
CMP EAX,EDX
JZ 0x00089370
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
JMP 0x00089370
MOV dword ptr [EBP + 0xfffffed4],EDX
JMP 0x00089e75
MOV ESI,0x8000
XOR EDI,EDI
JMP 0x00089d45
MOV dword ptr [EAX + 0xa8],0xfe200000
MOV ECX,0x1
JMP 0x0008b0e6
XOR EDX,EDX
MOV byte ptr [EBP + 0xfffffee3],0x0
JMP 0x00089c32
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV EAX,ESI
CALL 0x00056b90
MOV EBX,dword ptr [ESI + 0x78]
XOR ESI,ESI
MOV ECX,0x2000000
MOV dword ptr [EBP + 0xffffff2c],ESI
MOV ESI,dword ptr [EDI + 0x14]
MOV dword ptr [EBP + 0xffffff28],EBX
XOR EBX,EBX
SUB ECX,dword ptr [EBP + 0xffffff28]
SBB EBX,dword ptr [EBP + 0xffffff2c]
ADD ECX,dword ptr [EDI + 0x4]
ADC EBX,dword ptr [EDI + 0x8]
XOR EDI,EDI
SUB ECX,ESI
SBB EBX,EDI
SUB ECX,EAX
MOV EAX,0x3ffffff
SBB EBX,EDX
CMP EAX,ECX
MOV EAX,0x0
SBB EAX,EBX
MOV EAX,dword ptr [EBP + 0xffffff20]
JNC 0x0008befb
MOV ESI,dword ptr [EBP + 0xffffff50]
ADD EAX,0x10
MOV EDI,dword ptr [EBP + 0xfffffefc]
MOV dword ptr [ESI + 0x7c],EAX
MOV EAX,dword ptr [ESI + 0x34]
MOV ESI,dword ptr [EAX + 0x64]
ADD EAX,0x58
PUSH dword ptr [EBP + 0xffffff48]
PUSH 0x0
LEA EDX,[ESI*0x8 + 0x0]
PUSH EAX
MOV ESI,dword ptr [EBP + 0xfffffef8]
MOV dword ptr [EBP + -0x34],EDX
LEA EDX,[EBP + 0xffffff68]
PUSH EDX
MOV dword ptr [EBP + -0x3c],ESI
MOV dword ptr [EBP + -0x38],EDI
CALL 0x000b09c0
ADD ESP,0xc
JMP 0x00089d16
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [ESI + 0x5c]
MOV dword ptr [EDI],EAX
MOV dword ptr [ESI + 0x5c],EDI
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x0008bf0c
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EAX + 0x18]
XOR EDX,EDX
DIV dword ptr [ESI + 0x58]
MOV ECX,dword ptr [ESI + 0x54]
MOV dword ptr [ECX + EDX*0x4],EDI
MOV EAX,dword ptr [EBP + 0xffffff50]
ADD EAX,0x5c
MOV dword ptr [ECX + EBX*0x1],EAX
JMP 0x0008bb67
MOV EDX,0xffffffe0
MOV ECX,0x20
JMP 0x0008933a
MOV ESI,dword ptr [EBP + 0xffffff50]
ADD EAX,0x4
MOV dword ptr [ESI + 0x7c],EAX
JMP 0x00089d16
MOV ECX,dword ptr [ESI + 0x54]
JMP 0x0008bedb
MOV EAX,dword ptr [EBP + 0xffffff08]
MOV dword ptr [EBP + 0xffffff50],EAX
JMP 0x00089b90
CMP AL,0x4
SETNZ AL
JMP 0x0008bc5d
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
CALL 0x001e6ac0
ADD ESP,0x10
XOR EAX,0x1
JMP 0x0008bc5d
SUB ESP,0x4
PUSH ECX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff48]
CALL EDX
ADD ESP,0xc
JMP 0x0008bd74
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EAX + 0x6c],0x0
ADD EAX,0x6c
MOV dword ptr [EBP + 0xfffffed8],EAX
MOV dword ptr [EBP + 0xfffffecc],EAX
JMP 0x00089e22
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee23b0]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x7f7
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
MOV EAX,dword ptr [EBP + 0xffffff40]
MOV EDI,EDX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
JMP 0x0008b0b0
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1c78]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x163
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee23fc]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xcf
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1ec8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xe3
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee2324]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x8ad
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee2058]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x73
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee23a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee23a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee23a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee20fc]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0x1ce
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1fc8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x3ae
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1ec8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xe3
PUSH EAX
CALL 0x000da200
CALL 0x00052750
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1c78]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x163
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee23fc]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xcf
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1ce8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0xe02
PUSH EAX
CALL 0x000da200
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EBX + 0xffee23a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
CALL 0x00052750
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee2304]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x8c1
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EDI
LEA EAX,[EBX + 0xffee1f00]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x218
PUSH EAX
CALL 0x000da200
CALL 0x000538b0
LEA ESI,[ESI]
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1ca8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0xd24
PUSH EAX
CALL 0x000da200
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EBX + 0xffee2304]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x8c1
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0xc
LEA EAX,[EBX + 0xffee2f8c]
PUSH EAX
CALL 0x0028dc10
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee2108]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x36a
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1c98]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x11b2
PUSH EAX
CALL 0x000da200
CALL 0x00052750
CALL 0x00052750
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee2348]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x5c8
PUSH EAX
CALL 0x000da200
MOV dword ptr [EBX + 0xc],EAX
MOV dword ptr [EBX + 0x10],EDX
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EDX
LEA EAX,[EBX + 0xffee1f00]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x218
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
LEA EAX,[EBX + 0xffee23a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
CALL 0x00052750
MOV EBX,dword ptr [EBP + 0xffffff58]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1ca8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0xd3b
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
LEA EAX,[EBX + 0xffee2114]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x372
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
LEA EAX,[EBX + 0xffee1e60]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x231
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + 0xffffff58]
PUSH EAX
LEA EAX,[EBX + 0xffee213c]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0x3a3
PUSH EAX
CALL 0x000da200
CALL 0x000534d0
JMP 0x0002e11a
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nuint FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}\n\n" comment (function_definition "uint FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}" type_identifier (function_declarator "FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}" { (declaration "undefined4 *****pppppuVar1;" type_identifier (pointer_declarator "*****pppppuVar1" * (pointer_declarator "****pppppuVar1" * (pointer_declarator "***pppppuVar1" * (pointer_declarator "**pppppuVar1" * (pointer_declarator "*pppppuVar1" * identifier))))) ;) (declaration "undefined4 *****pppppuVar2;" type_identifier (pointer_declarator "*****pppppuVar2" * (pointer_declarator "****pppppuVar2" * (pointer_declarator "***pppppuVar2" * (pointer_declarator "**pppppuVar2" * (pointer_declarator "*pppppuVar2" * identifier))))) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 ******ppppppuVar4;" type_identifier (pointer_declarator "******ppppppuVar4" * (pointer_declarator "*****ppppppuVar4" * (pointer_declarator "****ppppppuVar4" * (pointer_declarator "***ppppppuVar4" * (pointer_declarator "**ppppppuVar4" * (pointer_declarator "*ppppppuVar4" * identifier)))))) ;) (declaration "undefined4 ****ppppuVar5;" type_identifier (pointer_declarator "****ppppuVar5" * (pointer_declarator "***ppppuVar5" * (pointer_declarator "**ppppuVar5" * (pointer_declarator "*ppppuVar5" * identifier)))) ;) (declaration "undefined4 ***pppuVar6;" type_identifier (pointer_declarator "***pppuVar6" * (pointer_declarator "**pppuVar6" * (pointer_declarator "*pppuVar6" * identifier))) ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined4 ******ppppppuVar8;" type_identifier (pointer_declarator "******ppppppuVar8" * (pointer_declarator "*****ppppppuVar8" * (pointer_declarator "****ppppppuVar8" * (pointer_declarator "***ppppppuVar8" * (pointer_declarator "**ppppppuVar8" * (pointer_declarator "*ppppppuVar8" * identifier)))))) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 *******pppppppuVar10;" type_identifier (pointer_declarator "*******pppppppuVar10" * (pointer_declarator "******pppppppuVar10" * (pointer_declarator "*****pppppppuVar10" * (pointer_declarator "****pppppppuVar10" * (pointer_declarator "***pppppppuVar10" * (pointer_declarator "**pppppppuVar10" * (pointer_declarator "*pppppppuVar10" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar11;" type_identifier (pointer_declarator "******ppppppuVar11" * (pointer_declarator "*****ppppppuVar11" * (pointer_declarator "****ppppppuVar11" * (pointer_declarator "***ppppppuVar11" * (pointer_declarator "**ppppppuVar11" * (pointer_declarator "*ppppppuVar11" * identifier)))))) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 *****pppppuVar14;" type_identifier (pointer_declarator "*****pppppuVar14" * (pointer_declarator "****pppppuVar14" * (pointer_declarator "***pppppuVar14" * (pointer_declarator "**pppppuVar14" * (pointer_declarator "*pppppuVar14" * identifier))))) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar16;" type_identifier (pointer_declarator "*******pppppppuVar16" * (pointer_declarator "******pppppppuVar16" * (pointer_declarator "*****pppppppuVar16" * (pointer_declarator "****pppppppuVar16" * (pointer_declarator "***pppppppuVar16" * (pointer_declarator "**pppppppuVar16" * (pointer_declarator "*pppppppuVar16" * identifier))))))) ;) (declaration "undefined4 ****ppppuVar17;" type_identifier (pointer_declarator "****ppppuVar17" * (pointer_declarator "***ppppuVar17" * (pointer_declarator "**ppppuVar17" * (pointer_declarator "*ppppuVar17" * identifier)))) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined2 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined8 **ppuVar24;" type_identifier (pointer_declarator "**ppuVar24" * (pointer_declarator "*ppuVar24" * identifier)) ;) (declaration "undefined8 **ppuVar25;" type_identifier (pointer_declarator "**ppuVar25" * (pointer_declarator "*ppuVar25" * identifier)) ;) (declaration "undefined4 *****pppppuVar26;" type_identifier (pointer_declarator "*****pppppuVar26" * (pointer_declarator "****pppppuVar26" * (pointer_declarator "***pppppuVar26" * (pointer_declarator "**pppppuVar26" * (pointer_declarator "*pppppuVar26" * identifier))))) ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "undefined4 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined4 ******ppppppuVar29;" type_identifier (pointer_declarator "******ppppppuVar29" * (pointer_declarator "*****ppppppuVar29" * (pointer_declarator "****ppppppuVar29" * (pointer_declarator "***ppppppuVar29" * (pointer_declarator "**ppppppuVar29" * (pointer_declarator "*ppppppuVar29" * identifier)))))) ;) (declaration "undefined4 *******pppppppuVar30;" type_identifier (pointer_declarator "*******pppppppuVar30" * (pointer_declarator "******pppppppuVar30" * (pointer_declarator "*****pppppppuVar30" * (pointer_declarator "****pppppppuVar30" * (pointer_declarator "***pppppppuVar30" * (pointer_declarator "**pppppppuVar30" * (pointer_declarator "*pppppppuVar30" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar31;" type_identifier (pointer_declarator "******ppppppuVar31" * (pointer_declarator "*****ppppppuVar31" * (pointer_declarator "****ppppppuVar31" * (pointer_declarator "***ppppppuVar31" * (pointer_declarator "**ppppppuVar31" * (pointer_declarator "*ppppppuVar31" * identifier)))))) ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "undefined4 *******unaff_EBX;" type_identifier (pointer_declarator "*******unaff_EBX" * (pointer_declarator "******unaff_EBX" * (pointer_declarator "*****unaff_EBX" * (pointer_declarator "****unaff_EBX" * (pointer_declarator "***unaff_EBX" * (pointer_declarator "**unaff_EBX" * (pointer_declarator "*unaff_EBX" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar33;" type_identifier (pointer_declarator "******ppppppuVar33" * (pointer_declarator "*****ppppppuVar33" * (pointer_declarator "****ppppppuVar33" * (pointer_declarator "***ppppppuVar33" * (pointer_declarator "**ppppppuVar33" * (pointer_declarator "*ppppppuVar33" * identifier)))))) ;) (declaration "undefined4 *****pppppuVar34;" type_identifier (pointer_declarator "*****pppppuVar34" * (pointer_declarator "****pppppuVar34" * (pointer_declarator "***pppppuVar34" * (pointer_declarator "**pppppuVar34" * (pointer_declarator "*pppppuVar34" * identifier))))) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "undefined1 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "undefined1 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "undefined1 *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "byte bVar42;" type_identifier identifier ;) (declaration "undefined8 uVar43;" type_identifier identifier ;) (declaration "longlong lVar44;" type_identifier identifier ;) (declaration "longlong lVar45;" type_identifier identifier ;) (declaration "undefined1 auStack_14c [12];" type_identifier (array_declarator "auStack_14c [12]" identifier [ number_literal ]) ;) (declaration "undefined4 *****local_140;" type_identifier (pointer_declarator "*****local_140" * (pointer_declarator "****local_140" * (pointer_declarator "***local_140" * (pointer_declarator "**local_140" * (pointer_declarator "*local_140" * identifier))))) ;) (declaration "undefined4 ******local_13c;" type_identifier (pointer_declarator "******local_13c" * (pointer_declarator "*****local_13c" * (pointer_declarator "****local_13c" * (pointer_declarator "***local_13c" * (pointer_declarator "**local_13c" * (pointer_declarator "*local_13c" * identifier)))))) ;) (declaration "undefined4 ******local_138;" type_identifier (pointer_declarator "******local_138" * (pointer_declarator "*****local_138" * (pointer_declarator "****local_138" * (pointer_declarator "***local_138" * (pointer_declarator "**local_138" * (pointer_declarator "*local_138" * identifier)))))) ;) (declaration "undefined4 ******local_134;" type_identifier (pointer_declarator "******local_134" * (pointer_declarator "*****local_134" * (pointer_declarator "****local_134" * (pointer_declarator "***local_134" * (pointer_declarator "**local_134" * (pointer_declarator "*local_134" * identifier)))))) ;) (declaration "uint local_130;" type_identifier identifier ;) (declaration "undefined4 ******local_12c;" type_identifier (pointer_declarator "******local_12c" * (pointer_declarator "*****local_12c" * (pointer_declarator "****local_12c" * (pointer_declarator "***local_12c" * (pointer_declarator "**local_12c" * (pointer_declarator "*local_12c" * identifier)))))) ;) (declaration "uint local_128;" type_identifier identifier ;) (declaration "bool local_121;" primitive_type identifier ;) (declaration "undefined4 ******local_120;" type_identifier (pointer_declarator "******local_120" * (pointer_declarator "*****local_120" * (pointer_declarator "****local_120" * (pointer_declarator "***local_120" * (pointer_declarator "**local_120" * (pointer_declarator "*local_120" * identifier)))))) ;) (declaration "undefined4 ******local_11c;" type_identifier (pointer_declarator "******local_11c" * (pointer_declarator "*****local_11c" * (pointer_declarator "****local_11c" * (pointer_declarator "***local_11c" * (pointer_declarator "**local_11c" * (pointer_declarator "*local_11c" * identifier)))))) ;) (declaration "uint local_118;" type_identifier identifier ;) (declaration "undefined4 ******local_114;" type_identifier (pointer_declarator "******local_114" * (pointer_declarator "*****local_114" * (pointer_declarator "****local_114" * (pointer_declarator "***local_114" * (pointer_declarator "**local_114" * (pointer_declarator "*local_114" * identifier)))))) ;) (declaration "undefined4 ******local_110;" type_identifier (pointer_declarator "******local_110" * (pointer_declarator "*****local_110" * (pointer_declarator "****local_110" * (pointer_declarator "***local_110" * (pointer_declarator "**local_110" * (pointer_declarator "*local_110" * identifier)))))) ;) (declaration "undefined4 ******local_10c;" type_identifier (pointer_declarator "******local_10c" * (pointer_declarator "*****local_10c" * (pointer_declarator "****local_10c" * (pointer_declarator "***local_10c" * (pointer_declarator "**local_10c" * (pointer_declarator "*local_10c" * identifier)))))) ;) (declaration "undefined4 ******local_108;" type_identifier (pointer_declarator "******local_108" * (pointer_declarator "*****local_108" * (pointer_declarator "****local_108" * (pointer_declarator "***local_108" * (pointer_declarator "**local_108" * (pointer_declarator "*local_108" * identifier)))))) ;) (declaration "undefined4 *local_104;" type_identifier (pointer_declarator "*local_104" * identifier) ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "undefined4 ******local_fc;" type_identifier (pointer_declarator "******local_fc" * (pointer_declarator "*****local_fc" * (pointer_declarator "****local_fc" * (pointer_declarator "***local_fc" * (pointer_declarator "**local_fc" * (pointer_declarator "*local_fc" * identifier)))))) ;) (declaration "undefined4 ******local_f8;" type_identifier (pointer_declarator "******local_f8" * (pointer_declarator "*****local_f8" * (pointer_declarator "****local_f8" * (pointer_declarator "***local_f8" * (pointer_declarator "**local_f8" * (pointer_declarator "*local_f8" * identifier)))))) ;) (declaration "undefined4 ******local_f4;" type_identifier (pointer_declarator "******local_f4" * (pointer_declarator "*****local_f4" * (pointer_declarator "****local_f4" * (pointer_declarator "***local_f4" * (pointer_declarator "**local_f4" * (pointer_declarator "*local_f4" * identifier)))))) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "undefined4 *****local_ec;" type_identifier (pointer_declarator "*****local_ec" * (pointer_declarator "****local_ec" * (pointer_declarator "***local_ec" * (pointer_declarator "**local_ec" * (pointer_declarator "*local_ec" * identifier))))) ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "undefined4 ******local_e4;" type_identifier (pointer_declarator "******local_e4" * (pointer_declarator "*****local_e4" * (pointer_declarator "****local_e4" * (pointer_declarator "***local_e4" * (pointer_declarator "**local_e4" * (pointer_declarator "*local_e4" * identifier)))))) ;) (declaration "undefined4 ****local_e0;" type_identifier (pointer_declarator "****local_e0" * (pointer_declarator "***local_e0" * (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier)))) ;) (declaration "undefined8 local_dc;" type_identifier identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "undefined8 local_cc;" type_identifier identifier ;) (declaration "undefined4 ******local_c4;" type_identifier (pointer_declarator "******local_c4" * (pointer_declarator "*****local_c4" * (pointer_declarator "****local_c4" * (pointer_declarator "***local_c4" * (pointer_declarator "**local_c4" * (pointer_declarator "*local_c4" * identifier)))))) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "undefined4 ******local_bc;" type_identifier (pointer_declarator "******local_bc" * (pointer_declarator "*****local_bc" * (pointer_declarator "****local_bc" * (pointer_declarator "***local_bc" * (pointer_declarator "**local_bc" * (pointer_declarator "*local_bc" * identifier)))))) ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined8 local_b4;" type_identifier identifier ;) (declaration "undefined4 ******local_ac;" type_identifier (pointer_declarator "******local_ac" * (pointer_declarator "*****local_ac" * (pointer_declarator "****local_ac" * (pointer_declarator "***local_ac" * (pointer_declarator "**local_ac" * (pointer_declarator "*local_ac" * identifier)))))) ;) (declaration "undefined4 ******local_a8;" type_identifier (pointer_declarator "******local_a8" * (pointer_declarator "*****local_a8" * (pointer_declarator "****local_a8" * (pointer_declarator "***local_a8" * (pointer_declarator "**local_a8" * (pointer_declarator "*local_a8" * identifier)))))) ;) (declaration "undefined1 local_a4 [8];" type_identifier (array_declarator "local_a4 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_9c [8];" type_identifier (array_declarator "local_9c [8]" identifier [ number_literal ]) ;) (declaration "char local_94 [4];" primitive_type (array_declarator "local_94 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 ******local_90;" type_identifier (pointer_declarator "******local_90" * (pointer_declarator "*****local_90" * (pointer_declarator "****local_90" * (pointer_declarator "***local_90" * (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier)))))) ;) (declaration "undefined4 ******local_8c;" type_identifier (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier)))))) ;) (declaration "char local_88;" primitive_type identifier ;) (declaration "undefined1 local_84 [4];" type_identifier (array_declarator "local_84 [4]" identifier [ number_literal ]) ;) (declaration "char local_80;" primitive_type identifier ;) (declaration "undefined4 *****local_71 [2];" type_identifier (pointer_declarator "*****local_71 [2]" * (pointer_declarator "****local_71 [2]" * (pointer_declarator "***local_71 [2]" * (pointer_declarator "**local_71 [2]" * (pointer_declarator "*local_71 [2]" * (array_declarator "local_71 [2]" identifier [ number_literal ])))))) ;) (declaration "undefined8 *local_68 [3];" type_identifier (pointer_declarator "*local_68 [3]" * (array_declarator "local_68 [3]" identifier [ number_literal ])) ;) (declaration "undefined8 local_5c;" type_identifier identifier ;) (declaration "undefined4 ******local_54;" type_identifier (pointer_declarator "******local_54" * (pointer_declarator "*****local_54" * (pointer_declarator "****local_54" * (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier)))))) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 ******local_40;" type_identifier (pointer_declarator "******local_40" * (pointer_declarator "*****local_40" * (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier)))))) ;) (declaration "undefined4 ******local_3c;" type_identifier (pointer_declarator "******local_3c" * (pointer_declarator "*****local_3c" * (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))))) ;) (declaration "undefined4 ******local_38;" type_identifier (pointer_declarator "******local_38" * (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)))))) ;) (declaration "undefined4 ******local_34;" type_identifier (pointer_declarator "******local_34" * (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))))) ;) (declaration "undefined4 ******local_30;" type_identifier (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)))))) ;) (declaration "undefined4 ******local_2c;" type_identifier (pointer_declarator "******local_2c" * (pointer_declarator "*****local_2c" * (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)))))) ;) (declaration "undefined4 ****local_28;" type_identifier (pointer_declarator "****local_28" * (pointer_declarator "***local_28" * (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)))) ;) (declaration "undefined4 ****local_24;" type_identifier (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))) ;) (declaration "undefined4 ****local_20;" type_identifier (pointer_declarator "****local_20" * (pointer_declarator "***local_20" * (pointer_declarator "**local_20" * (pointer_declarator "*local_20" * identifier)))) ;) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (if_statement "if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }" { (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (expression_statement "pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);" (assignment_expression "pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(undefined4 ******)(DAT_004144e8 + 8)" * (cast_expression "(undefined4 ******)(DAT_004144e8 + 8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" if (parenthesized_expression "((*(byte *)(param_1 + 8) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 8) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 8) & 2)" ( (binary_expression "*(byte *)(param_1 + 8) & 2" (pointer_expression "*(byte *)(param_1 + 8)" * (cast_expression "(byte *)(param_1 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }" { (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c0b4;" goto statement_identifier ;)) (expression_statement "cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);" (assignment_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x2c59)" identifier = (pointer_expression "*(char *)((int)pppppuVar26 + 0x2c59)" * (cast_expression "(char *)((int)pppppuVar26 + 0x2c59)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2c59)" ( (binary_expression "(int)pppppuVar26 + 0x2c59" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }" if (parenthesized_expression "(((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0'))" ( (binary_expression "((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')" (parenthesized_expression "((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0'))" ( (binary_expression "(cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')" (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(pppppuVar26 + 0xb16) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0xb16) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xb16)" * (cast_expression "(char *)(pppppuVar26 + 0xb16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0xb16)" ( (binary_expression "pppppuVar26 + 0xb16" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')" ( (comma_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0'" (assignment_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x1a25)" identifier = (pointer_expression "*(char *)((int)pppppuVar26 + 0x1a25)" * (cast_expression "(char *)((int)pppppuVar26 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x1a25)" ( (binary_expression "(int)pppppuVar26 + 0x1a25" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0xffffff00)" ( (binary_expression "(uint)(undefined4 *******)local_b4 & 0xffffff00" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal) )))) ;) (expression_statement "local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;" (assignment_expression "local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" identifier = (cast_expression "(undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" & identifier))) ;) (expression_statement "pcVar18 = "pthread_create";" (assignment_expression "pcVar18 = "pthread_create"" identifier = (string_literal ""pthread_create"" " string_content ")) ;) (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (while_statement "while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }" { (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "iVar19 = FUN_001e9100(param_4,pcVar18,0);" (assignment_expression "iVar19 = FUN_001e9100(param_4,pcVar18,0)" identifier = (call_expression "FUN_001e9100(param_4,pcVar18,0)" identifier (argument_list "(param_4,pcVar18,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }" if (parenthesized_expression "(((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0))" ( (binary_expression "((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)" (parenthesized_expression "((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0'))" ( (binary_expression "(iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')" (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)(iVar19 + 0x2a) < '\0')" ( (binary_expression "*(char *)(iVar19 + 0x2a) < '\0'" (pointer_expression "*(char *)(iVar19 + 0x2a)" * (cast_expression "(char *)(iVar19 + 0x2a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2a)" ( (binary_expression "iVar19 + 0x2a" identifier + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)" ( (comma_expression "bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0" (assignment_expression "bVar27 = *(byte *)(iVar19 + 0x2b) >> 6" identifier = (binary_expression "*(byte *)(iVar19 + 0x2b) >> 6" (pointer_expression "*(byte *)(iVar19 + 0x2b)" * (cast_expression "(byte *)(iVar19 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2b)" ( (binary_expression "iVar19 + 0x2b" identifier + number_literal) )))) >> number_literal)) , (comma_expression "bVar42 = bVar27 & 1, (bVar27 & 1) != 0" (assignment_expression "bVar42 = bVar27 & 1" identifier = (binary_expression "bVar27 & 1" identifier & number_literal)) , (binary_expression "(bVar27 & 1) != 0" (parenthesized_expression "(bVar27 & 1)" ( (binary_expression "bVar27 & 1" identifier & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }" { (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (goto_statement "goto LAB_0008b0b0;" goto statement_identifier ;) })) (if_statement "if (local_a8 == (undefined4 ******)&DAT_0040661c) break;" if (parenthesized_expression "(local_a8 == (undefined4 ******)&DAT_0040661c)" ( (binary_expression "local_a8 == (undefined4 ******)&DAT_0040661c" identifier == (cast_expression "(undefined4 ******)&DAT_0040661c" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0040661c" & identifier))) )) (break_statement "break;" break ;)) (expression_statement "pcVar18 = (char *)*local_a8;" (assignment_expression "pcVar18 = (char *)*local_a8" identifier = (cast_expression "(char *)*local_a8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_a8 = local_a8 + 1;" (assignment_expression "local_a8 = local_a8 + 1" identifier = (binary_expression "local_a8 + 1" identifier + number_literal)) ;) })) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (expression_statement "bVar42 = (byte)local_b4;" (assignment_expression "bVar42 = (byte)local_b4" identifier = (cast_expression "(byte)local_b4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0008b0b0;" goto statement_identifier ;) })) (expression_statement "ppppuVar17 = pppppuVar26[0xe2a];" (assignment_expression "ppppuVar17 = pppppuVar26[0xe2a]" identifier = (subscript_expression "pppppuVar26[0xe2a]" identifier [ number_literal ])) ;) (expression_statement "*(char *)(param_1 + 0x9c) = cVar7;" (assignment_expression "*(char *)(param_1 + 0x9c) = cVar7" (pointer_expression "*(char *)(param_1 + 0x9c)" * (cast_expression "(char *)(param_1 + 0x9c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9c)" ( (binary_expression "param_1 + 0x9c" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (if_statement "if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0x1)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0x1" identifier == (cast_expression "(undefined4 ****)0x1" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_0008bbcb;" goto statement_identifier ;)) (labeled_statement "LAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" statement_identifier : (if_statement "if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0xffffffff)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0xffffffff" identifier == (cast_expression "(undefined4 ****)0xffffffff" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0xa8) = 0xfe200000;" (assignment_expression "*(undefined4 *)(param_1 + 0xa8) = 0xfe200000" (pointer_expression "*(undefined4 *)(param_1 + 0xa8)" * (cast_expression "(undefined4 *)(param_1 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" else (compound_statement "{\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" { (expression_statement "*(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;" (assignment_expression "*(undefined4 *****)(param_1 + 0xa8) = ppppuVar17" (pointer_expression "*(undefined4 *****)(param_1 + 0xa8)" * (cast_expression "(undefined4 *****)(param_1 + 0xa8)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = identifier) ;) })))) }) (else_clause "else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" else (compound_statement "{\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" { (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;" statement_identifier : (expression_statement "*(byte *)(param_1 + 0x9c) = bVar42;" (assignment_expression "*(byte *)(param_1 + 0x9c) = bVar42" (pointer_expression "*(byte *)(param_1 + 0x9c)" * (cast_expression "(byte *)(param_1 + 0x9c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9c)" ( (binary_expression "param_1 + 0x9c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }" { (labeled_statement "LAB_0008c0b4:\n        ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c0d2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppuVar17 = pppppuVar26[0xe2a];" (assignment_expression "ppppuVar17 = pppppuVar26[0xe2a]" identifier = (subscript_expression "pppppuVar26[0xe2a]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;" if (parenthesized_expression "(ppppuVar17 != (undefined4 ****)0x1)" ( (binary_expression "ppppuVar17 != (undefined4 ****)0x1" identifier != (cast_expression "(undefined4 ****)0x1" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_0008b0d5;" goto statement_identifier ;)) (labeled_statement "LAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0xa8) = 0x1c00000;" (assignment_expression "*(undefined4 *)(param_1 + 0xa8) = 0x1c00000" (pointer_expression "*(undefined4 *)(param_1 + 0xa8)" * (cast_expression "(undefined4 *)(param_1 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "FUN_0006f600();" (call_expression "FUN_0006f600()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar28 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "puVar28 = *(undefined4 **)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" * (cast_expression "(undefined4 **)(param_1 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != puVar28)" ( (binary_expression "*(undefined4 **)(param_1 + 0x50) != puVar28" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) (compound_statement "{\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }" { (labeled_statement "LAB_00088eb5:\n      puVar38 = auStack_14c;" statement_identifier : (expression_statement "puVar38 = auStack_14c;" (assignment_expression "puVar38 = auStack_14c" identifier = identifier) ;)) (expression_statement "puVar37 = auStack_14c;" (assignment_expression "puVar37 = auStack_14c" identifier = identifier) ;) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (expression_statement "local_a8 = (undefined4 ******)*puVar28;" (assignment_expression "local_a8 = (undefined4 ******)*puVar28" identifier = (cast_expression "(undefined4 ******)*puVar28" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*puVar28" * identifier))) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xc]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xb][0x21]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (if_statement "if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }" if (parenthesized_expression "(ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3))" ( (binary_expression "ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" identifier < (cast_expression "(undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26" (cast_expression "(int)((undefined4 *******)local_a8)[0xb][0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_a8)[0xb][0x22]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }" { (if_statement "if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }" if (parenthesized_expression "(((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff)" ( (binary_expression "((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff" (parenthesized_expression "((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            )" ( (binary_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]" (cast_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ])) & (cast_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) )) != number_literal) )) (compound_statement "{\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }" { (expression_statement "local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)(puVar28 + 1)" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(puVar28 + 1)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar28 + 1)" ( (binary_expression "puVar28 + 1" identifier + number_literal) )))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a)" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(local_ac + 0x13a)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + 0x13a)" ( (binary_expression "local_ac + 0x13a" identifier + number_literal) )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (expression_statement "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]))) ;) (do_statement "do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);" do (compound_statement "{\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          }" { (expression_statement "unaff_EBX = (undefined4 *******)local_a8;" (assignment_expression "unaff_EBX = (undefined4 *******)local_a8" identifier = (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[8];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[8]" identifier = (cast_expression "(undefined4 ******)local_a8[8]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[8]" identifier [ number_literal ]))) ;) (expression_statement "local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);" (assignment_expression "local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" identifier = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_a8[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);" (assignment_expression "local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" identifier = (binary_expression "(int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" identifier (argument_list "((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" ( (cast_expression "(uint)local_a8[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) , (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))))) ;) (expression_statement "local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);" (assignment_expression "local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d])" identifier = (cast_expression "(undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a8[0x1f] + (int)local_a8[0x1d])" ( (binary_expression "(int)local_a8[0x1f] + (int)local_a8[0x1d]" (cast_expression "(int)local_a8[0x1f]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1f]" identifier [ number_literal ])) + (cast_expression "(int)local_a8[0x1d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1d]" identifier [ number_literal ]))) )))) ;) (if_statement "if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }" if (parenthesized_expression "(*(char *)(local_a8 + 0x23) != '\0')" ( (binary_expression "*(char *)(local_a8 + 0x23) != '\0'" (pointer_expression "*(char *)(local_a8 + 0x23)" * (cast_expression "(char *)(local_a8 + 0x23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x23)" ( (binary_expression "local_a8 + 0x23" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }" { (expression_statement "pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];" (assignment_expression "pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b]" identifier = (cast_expression "(undefined4 *****)local_a8[0xd][0x2b]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_a8[0xd][0x2b]" (subscript_expression "local_a8[0xd]" identifier [ number_literal ]) [ number_literal ]))) ;) (if_statement "if (((uint)pppppuVar26[7] & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }" if (parenthesized_expression "(((uint)pppppuVar26[7] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[7] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[7] & 2)" ( (binary_expression "(uint)pppppuVar26[7] & 2" (cast_expression "(uint)pppppuVar26[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }" { comment (expression_statement "FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);" (call_expression "FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701)" identifier (argument_list "(local_ac + -0x47469,0xcf,local_ac + -0x47701)" ( (binary_expression "local_ac + -0x47469" identifier + number_literal) , number_literal , (binary_expression "local_ac + -0x47701" identifier + number_literal) ))) ;) })) (expression_statement "bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);" (assignment_expression "bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3])" identifier = (call_expression "CARRY4((uint)local_bc,(uint)pppppuVar26[3])" identifier (argument_list "((uint)local_bc,(uint)pppppuVar26[3])" ( (cast_expression "(uint)local_bc" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)pppppuVar26[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ])) )))) ;) (expression_statement "local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);" (assignment_expression "local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3])" identifier = (cast_expression "(undefined4 ******)((int)local_bc + (int)pppppuVar26[3])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_bc + (int)pppppuVar26[3])" ( (binary_expression "(int)local_bc + (int)pppppuVar26[3]" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppuVar26[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_b8 = (int)pppppuVar26[4] + (uint)bVar41;" (assignment_expression "local_b8 = (int)pppppuVar26[4] + (uint)bVar41" identifier = (binary_expression "(int)pppppuVar26[4] + (uint)bVar41" (cast_expression "(int)pppppuVar26[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[4]" identifier [ number_literal ])) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (if_statement "if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }" if (parenthesized_expression "(local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0)" ( (binary_expression "local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0" (binary_expression "local_b8 != 0" identifier != number_literal) || (binary_expression "(undefined4 *******)local_bc != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) (compound_statement "{\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }" { (if_statement "if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;" if (parenthesized_expression "((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0)" ( (binary_expression "(*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0" (subscript_expression "(*(undefined4 *******)local_dc)[2]" (parenthesized_expression "(*(undefined4 *******)local_dc)" ( (pointer_expression "*(undefined4 *******)local_dc" * (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) [ number_literal ]) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c192;" goto statement_identifier ;)) (expression_statement "uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*(undefined4 *******)local_dc)[2][0xac8]" (subscript_expression "(byte)(*(undefined4 *******)local_dc)[2]" (call_expression "(byte)(*(undefined4 *******)local_dc)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(undefined4 *******)local_dc)" ( (pointer_expression "*(undefined4 *******)local_dc" * (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n                uVar39 = 0x20;\n              }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (expression_statement "bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);" (assignment_expression "bVar41 = CARRY4(uVar39 - 1,(uint)local_c4)" identifier = (call_expression "CARRY4(uVar39 - 1,(uint)local_c4)" identifier (argument_list "(uVar39 - 1,(uint)local_c4)" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (cast_expression "(uint)local_c4" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);" (assignment_expression "local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39)" identifier = (cast_expression "(undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_c4 + (uVar39 - 1) & -uVar39)" ( (binary_expression "(int)local_c4 + (uVar39 - 1) & -uVar39" (binary_expression "(int)local_c4 + (uVar39 - 1)" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);" (assignment_expression "local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0)" identifier = (binary_expression "((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0)" (binary_expression "((uVar39 != 0) - 1) + local_c0 + (uint)bVar41" (binary_expression "((uVar39 != 0) - 1) + local_c0" (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) )) + identifier) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier)) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) })) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0x22];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0x22]" identifier = (cast_expression "(undefined4 ******)local_a8[0x22]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x22]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));" (assignment_expression "ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" identifier = (cast_expression "(undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" ( (binary_expression "(int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4)" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)local_bc - (int)(undefined4 *******)local_b4)" ( (binary_expression "(int)local_bc - (int)(undefined4 *******)local_b4" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) )))) ;) (expression_statement "ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));" (assignment_expression "ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" identifier = (cast_expression "(undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" ( (binary_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" (binary_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0" (parenthesized_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4))" ( (binary_expression "(local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)" (parenthesized_expression "(local_b8 - (int)local_b4._4_4_)" ( (binary_expression "local_b8 - (int)local_b4._4_4_" identifier - (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)(local_bc < (undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc < (undefined4 *******)local_b4)" ( (binary_expression "local_bc < (undefined4 *******)local_b4" identifier < (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) )) + identifier) + (cast_expression "(uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" identifier (argument_list "((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" ( (binary_expression "(int)local_bc - (int)(undefined4 *******)local_b4" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)local_c4" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (expression_statement "ppppppuVar33 = (undefined4 ******)local_a8[0x21];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_a8[0x21]" identifier = (cast_expression "(undefined4 ******)local_a8[0x21]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x21]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }" if (parenthesized_expression "(ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               )" ( (binary_expression "ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)" (binary_expression "ppppppuVar11 < ppppppuVar29" identifier < identifier) || (binary_expression "(uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)" (call_expression "(uint)((int)ppppppuVar11 - (int)ppppppuVar29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppuVar11 - (int)ppppppuVar29)" ( (binary_expression "(int)ppppppuVar11 - (int)ppppppuVar29" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(local_a8[0x21] < ppppppuVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_a8[0x21] < ppppppuVar8)" ( (binary_expression "local_a8[0x21] < ppppppuVar8" (subscript_expression "local_a8[0x21]" identifier [ number_literal ]) < identifier) ))))) )) (compound_statement "{\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }" { (expression_statement "ppppppuVar33 = ppppppuVar8;" (assignment_expression "ppppppuVar33 = ppppppuVar8" identifier = identifier) ;) (expression_statement "ppppppuVar11 = ppppppuVar29;" (assignment_expression "ppppppuVar11 = ppppppuVar29" identifier = identifier) ;) })) (expression_statement "bVar42 = *(byte *)(local_a8 + 7);" (assignment_expression "bVar42 = *(byte *)(local_a8 + 7)" identifier = (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(local_a8 + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(local_a8 + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (if_statement "if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" if (parenthesized_expression "((bVar42 & 8) == 0)" ( (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }" { (expression_statement "*(byte *)(local_a8 + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(local_a8 + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xf8" identifier & number_literal)) ;) }) (else_clause "else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" else (if_statement "if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" if (parenthesized_expression "((bVar42 & 2) != 0)" ( (binary_expression "(bVar42 & 2) != 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0008b9d8;" goto statement_identifier ;)))) (expression_statement "pppppuVar26 = ppppppuVar31[7];" (assignment_expression "pppppuVar26 = ppppppuVar31[7]" identifier = (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) ;) (expression_statement "local_a8[3] = ppppppuVar33;" (assignment_expression "local_a8[3] = ppppppuVar33" (subscript_expression "local_a8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_a8[4] = ppppppuVar11;" (assignment_expression "local_a8[4] = ppppppuVar11" (subscript_expression "local_a8[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((uint)pppppuVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }" if (parenthesized_expression "(((uint)pppppuVar26 & 4) == 0)" ( (binary_expression "((uint)pppppuVar26 & 4) == 0" (parenthesized_expression "((uint)pppppuVar26 & 4)" ( (binary_expression "(uint)pppppuVar26 & 4" (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }" { comment (expression_statement "FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);" (call_expression "FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e)" identifier (argument_list "(local_ac + -0x47469,0xe3,local_ac + -0x4784e)" ( (binary_expression "local_ac + -0x47469" identifier + number_literal) , number_literal , (binary_expression "local_ac + -0x4784e" identifier + number_literal) ))) ;) })) (expression_statement "pppppuVar14 = ppppppuVar31[5];" (assignment_expression "pppppuVar14 = ppppppuVar31[5]" identifier = (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar34 = ppppppuVar31[6];" (assignment_expression "pppppuVar34 = ppppppuVar31[6]" identifier = (subscript_expression "ppppppuVar31[6]" identifier [ number_literal ])) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (if_statement "if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;" if (parenthesized_expression "(((uint)pppppuVar26 & 1) == 0)" ( (binary_expression "((uint)pppppuVar26 & 1) == 0" (parenthesized_expression "((uint)pppppuVar26 & 1)" ( (binary_expression "(uint)pppppuVar26 & 1" (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf5b;" goto statement_identifier ;)) (expression_statement "pppppuVar26 = ppppppuVar31[1];" (assignment_expression "pppppuVar26 = ppppppuVar31[1]" identifier = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar1 = ppppppuVar31[1];" (assignment_expression "pppppuVar1 = ppppppuVar31[1]" identifier = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar2 = ppppppuVar31[2];" (assignment_expression "pppppuVar2 = ppppppuVar31[2]" identifier = (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) ;) (expression_statement "local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);" (assignment_expression "local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" (subscript_expression "local_a8[5]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)ppppppuVar31[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);" (assignment_expression "local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" (subscript_expression "local_a8[1]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)pppppuVar1" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)pppppuVar1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));" (assignment_expression "local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" (subscript_expression "local_a8[2]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" ( (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar2" (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) + (cast_expression "(int)pppppuVar2" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (expression_statement "local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));" (assignment_expression "local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" (subscript_expression "local_a8[6]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" ( (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar34" (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) + (cast_expression "(int)pppppuVar34" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)pppppuVar14" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (expression_statement "*(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;" (assignment_expression "*(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_a8 + 7) | 5" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(*(code *)(*local_a8)[0xe])(local_a8);" (call_expression "(*(code *)(*local_a8)[0xe])(local_a8)" (parenthesized_expression "(*(code *)(*local_a8)[0xe])" ( (pointer_expression "*(code *)(*local_a8)[0xe]" * (cast_expression "(code *)(*local_a8)[0xe]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*local_a8)[0xe]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) )) (argument_list "(local_a8)" ( identifier ))) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008c197;" goto statement_identifier ;)) (expression_statement "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);" (assignment_expression "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" * (cast_expression "(undefined4 ********)(param_1 + 0x50)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)local_cc)" ( (binary_expression "pppppppuVar10 == (undefined4 *******)local_cc" identifier == (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) (compound_statement "{\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }" { (if_statement "if (param_2 != 1) goto LAB_00089837;" if (parenthesized_expression "(param_2 != 1)" ( (binary_expression "param_2 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00089837;" goto statement_identifier ;)) (expression_statement "local_120 = (undefined4 *******)0x0;" (assignment_expression "local_120 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" * (cast_expression "(undefined4 ********)(param_1 + 0x4c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00089172;" goto statement_identifier ;) })) (expression_statement "local_a8 = *(undefined4 *******)local_cc;" (assignment_expression "local_a8 = *(undefined4 *******)local_cc" identifier = (pointer_expression "*(undefined4 *******)local_cc" * (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xc]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xb][0x21]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (if_statement "if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;" if (parenthesized_expression "((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31)" ( (binary_expression "(undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31" (cast_expression "(undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26" (cast_expression "(int)((undefined4 *******)local_a8)[0xb][0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_a8)[0xb][0x22]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008bf9d;" goto statement_identifier ;)) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (expression_statement "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]))) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)local_cc + 1;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)local_cc + 1" (field_expression "local_cc._0_4_" identifier . field_identifier) = (binary_expression "(undefined4 *******)local_cc + 1" (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) }) while (parenthesized_expression "(((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff)" ( (binary_expression "((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff" (parenthesized_expression "((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4)" ( (binary_expression "(uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4" (cast_expression "(uint)local_b4._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) != number_literal) )) ;) })) comment (expression_statement "FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);" (call_expression "FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6)" identifier (argument_list "(local_ac + -0x4745f,0xe02,local_ac + -0x478c6)" ( (binary_expression "local_ac + -0x4745f" identifier + number_literal) , number_literal , (binary_expression "local_ac + -0x478c6" identifier + number_literal) ))) ;) })) (labeled_statement "LAB_0008bf9d:\n      ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47714" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x7f7;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x7f7" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bfbe" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_120 = (undefined4 *******)0x0;" (assignment_expression "local_120 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (labeled_statement "LAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;" statement_identifier : (expression_statement "local_110 = (undefined4 *******)0x0;" (assignment_expression "local_110 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" * (cast_expression "(undefined1 *)(param_1 + 0xa1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" else (compound_statement "{\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" { (expression_statement "ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (if_statement "if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }" if (parenthesized_expression "((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3))" ( (binary_expression "(*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)" (parenthesized_expression "(*(char *)(param_1 + 0xa1) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xa1) != '\0'" (pointer_expression "*(char *)(param_1 + 0xa1)" * (cast_expression "(char *)(param_1 + 0xa1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)" ( (comma_expression "ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) , (binary_expression "*(int *)(param_1 + 0xa4) < 3" (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) )))) < number_literal)) ))) )) (compound_statement "{\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }" { (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (expression_statement "FUN_000a8e50(param_1 + 0x58);" (call_expression "FUN_000a8e50(param_1 + 0x58)" identifier (argument_list "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))) ;) (expression_statement "piVar13 = *(int **)(param_1 + 0x4c);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x4c)" identifier = (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }" if (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x50))" ( (binary_expression "piVar13 != *(int **)(param_1 + 0x50)" identifier != (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }" { (do_statement "do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);" do (compound_statement "{\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        }" { (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0004ebf0();" (call_expression "FUN_0004ebf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x74) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x74) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x74)" * (cast_expression "(undefined4 *)(iVar19 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x74)" ( (binary_expression "iVar19 + 0x74" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0004eb90();" (call_expression "FUN_0004eb90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x7c) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x7c) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x7c)" * (cast_expression "(undefined4 *)(iVar19 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7c)" ( (binary_expression "iVar19 + 0x7c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar19 + 0x8c) = 0;" (assignment_expression "*(undefined1 *)(iVar19 + 0x8c) = 0" (pointer_expression "*(undefined1 *)(iVar19 + 0x8c)" * (cast_expression "(undefined1 *)(iVar19 + 0x8c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x8c)" ( (binary_expression "iVar19 + 0x8c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x78) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x78) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x78)" * (cast_expression "(undefined4 *)(iVar19 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x78)" ( (binary_expression "iVar19 + 0x78" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x80) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x80) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x80)" * (cast_expression "(undefined4 *)(iVar19 + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x80)" ( (binary_expression "iVar19 + 0x80" identifier + number_literal) )))) = number_literal) ;) }) while (parenthesized_expression "(*(int **)(param_1 + 0x50) != piVar13)" ( (binary_expression "*(int **)(param_1 + 0x50) != piVar13" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }" if (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x4c))" ( (binary_expression "piVar13 != *(int **)(param_1 + 0x4c)" identifier != (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }" { (expression_statement "*(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);" (assignment_expression "*(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c)" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) = (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar19 = *(int *)(param_1 + 0xa8);" (assignment_expression "iVar19 = *(int *)(param_1 + 0xa8)" identifier = (pointer_expression "*(int *)(param_1 + 0xa8)" * (cast_expression "(int *)(param_1 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = iVar19 + 3;" (assignment_expression "iVar22 = iVar19 + 3" identifier = (binary_expression "iVar19 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }" if (parenthesized_expression "(-1 < iVar19)" ( (binary_expression "-1 < iVar19" number_literal < identifier) )) (compound_statement "{\n        iVar22 = iVar19;\n      }" { (expression_statement "iVar22 = iVar19;" (assignment_expression "iVar22 = iVar19" identifier = identifier) ;) })) (expression_statement "iVar19 = (iVar22 >> 2) * 3;" (assignment_expression "iVar19 = (iVar22 >> 2) * 3" identifier = (binary_expression "(iVar22 >> 2) * 3" (parenthesized_expression "(iVar22 >> 2)" ( (binary_expression "iVar22 >> 2" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "*(int *)(param_1 + 0xa8) = iVar19;" (assignment_expression "*(int *)(param_1 + 0xa8) = iVar19" (pointer_expression "*(int *)(param_1 + 0xa8)" * (cast_expression "(int *)(param_1 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_ac[0x1ce]" identifier = (cast_expression "(undefined4 ******)local_ac[0x1ce]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_ac[0x1ce]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = gettext(local_ac + -0x47247);" (assignment_expression "uVar9 = gettext(local_ac + -0x47247)" identifier = (call_expression "gettext(local_ac + -0x47247)" identifier (argument_list "(local_ac + -0x47247)" ( (binary_expression "local_ac + -0x47247" identifier + number_literal) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "FUN_000d1390(uVar9,ppppppuVar31,iVar19);" (call_expression "FUN_000d1390(uVar9,ppppppuVar31,iVar19)" identifier (argument_list "(uVar9,ppppppuVar31,iVar19)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0006f600();" (call_expression "FUN_0006f600()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) })) (expression_statement "local_ac = ppppppuVar31;" (assignment_expression "local_ac = ppppppuVar31" identifier = identifier) ;) (expression_statement "puVar28 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "puVar28 = *(undefined4 **)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" * (cast_expression "(undefined4 **)(param_1 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != puVar28)" ( (binary_expression "*(undefined4 **)(param_1 + 0x50) != puVar28" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_00088eb5;" goto statement_identifier ;)) (labeled_statement "LAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);" statement_identifier : (expression_statement "local_120 = *(undefined4 *******)(param_1 + 100);" (assignment_expression "local_120 = *(undefined4 *******)(param_1 + 100)" identifier = (pointer_expression "*(undefined4 *******)(param_1 + 100)" * (cast_expression "(undefined4 *******)(param_1 + 100)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) ;)) (expression_statement "FUN_000a8e50(param_1 + 0x58);" (call_expression "FUN_000a8e50(param_1 + 0x58)" identifier (argument_list "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))) ;) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" * (cast_expression "(undefined4 ********)(param_1 + 0x4c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;" if (parenthesized_expression "(pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50))" ( (binary_expression "pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)" identifier == (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" * (cast_expression "(undefined4 ********)(param_1 + 0x50)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0008b10a;" goto statement_identifier ;)) (do_statement "do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);" do (compound_statement "{\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    }" { (expression_statement "unaff_EBX = (undefined4 *******)*pppppppuVar16;" (assignment_expression "unaff_EBX = (undefined4 *******)*pppppppuVar16" identifier = (cast_expression "(undefined4 *******)*pppppppuVar16" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppppuVar16" * identifier))) ;) (expression_statement "pppppppuVar16 = pppppppuVar16 + 1;" (assignment_expression "pppppppuVar16 = pppppppuVar16 + 1" identifier = (binary_expression "pppppppuVar16 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0004ebf0();" (call_expression "FUN_0004ebf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX[0x1d] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[0x1d] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "FUN_0004eb90();" (call_expression "FUN_0004eb90()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX[0x1f] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[0x1f] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(undefined1 *)(unaff_EBX + 0x23) = 0;" (assignment_expression "*(undefined1 *)(unaff_EBX + 0x23) = 0" (pointer_expression "*(undefined1 *)(unaff_EBX + 0x23)" * (cast_expression "(undefined1 *)(unaff_EBX + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x23)" ( (binary_expression "unaff_EBX + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);" (assignment_expression "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" * (cast_expression "(undefined4 ********)(param_1 + 0x50)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(pppppppuVar10 != pppppppuVar16)" ( (binary_expression "pppppppuVar10 != pppppppuVar16" identifier != identifier) )) ;) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" * (cast_expression "(undefined4 ********)(param_1 + 0x4c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00089172:\n    local_110 = (undefined4 *******)0x0;" statement_identifier : (expression_statement "local_110 = (undefined4 *******)0x0;" (assignment_expression "local_110 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (expression_statement "iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;" (assignment_expression "iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16" identifier = (binary_expression "(int)pppppppuVar10 - (int)pppppppuVar16" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" * (cast_expression "(undefined1 *)(param_1 + 0xa1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }" if (parenthesized_expression "(pppppppuVar16 != pppppppuVar10)" ( (binary_expression "pppppppuVar16 != pppppppuVar10" identifier != identifier) )) (compound_statement "{\n      local_110 = *pppppppuVar16;\n    }" { (expression_statement "local_110 = *pppppppuVar16;" (assignment_expression "local_110 = *pppppppuVar16" identifier = (pointer_expression "*pppppppuVar16" * identifier)) ;) })) }))) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (expression_statement "local_fc = (undefined4 *******)0x0;" (assignment_expression "local_fc = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if (iVar19 == 4) {\n    local_fc = local_110;\n  }" if (parenthesized_expression "(iVar19 == 4)" ( (binary_expression "iVar19 == 4" identifier == number_literal) )) (compound_statement "{\n    local_fc = local_110;\n  }" { (expression_statement "local_fc = local_110;" (assignment_expression "local_fc = local_110" identifier = identifier) ;) })) (expression_statement "local_114 = local_ac + 0x13a;" (assignment_expression "local_114 = local_ac + 0x13a" identifier = (binary_expression "local_ac + 0x13a" identifier + number_literal)) ;) (expression_statement "local_a8 = *(undefined4 *******)(param_1 + 0x74);" (assignment_expression "local_a8 = *(undefined4 *******)(param_1 + 0x74)" identifier = (pointer_expression "*(undefined4 *******)(param_1 + 0x74)" * (cast_expression "(undefined4 *******)(param_1 + 0x74)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "local_f8 = local_114;" (assignment_expression "local_f8 = local_114" identifier = identifier) ;) (if_statement "if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }" if (parenthesized_expression "(*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8)" ( (binary_expression "*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8" (pointer_expression "*(undefined4 ********)(param_1 + 0x78)" * (cast_expression "(undefined4 ********)(param_1 + 0x78)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) != (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) (compound_statement "{\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }" { (do_statement "do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);" do (compound_statement "{\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    }" { (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (expression_statement "puVar35 = puVar36;" (assignment_expression "puVar35 = puVar36" identifier = identifier) ;) (if_statement "if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" if (parenthesized_expression "(ppppppuVar11 < ppppppuVar31[0x2c])" ( (binary_expression "ppppppuVar11 < ppppppuVar31[0x2c]" identifier < (subscript_expression "ppppppuVar31[0x2c]" identifier [ number_literal ])) )) (compound_statement "{\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }" { (expression_statement "local_c4 = local_114;" (assignment_expression "local_c4 = local_114" identifier = identifier) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_114)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_114)[3]" identifier = (cast_expression "(undefined4 *****)(*local_114)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_114)[3]" (parenthesized_expression "(*local_114)" ( (pointer_expression "*local_114" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c096;" goto statement_identifier ;)) (labeled_statement "LAB_000899b9:\n        pppppppuVar10 = unaff_EBX;" statement_identifier : (expression_statement "pppppppuVar10 = unaff_EBX;" (assignment_expression "pppppppuVar10 = unaff_EBX" identifier = identifier) ;)) (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" identifier = (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ]))) ;) (if_statement "if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;" if (parenthesized_expression "((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0))" ( (binary_expression "(pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)" (parenthesized_expression "(pppppuVar26[0x2c] == (undefined4 ****)0x0)" ( (binary_expression "pppppuVar26[0x2c] == (undefined4 ****)0x0" (subscript_expression "pppppuVar26[0x2c]" identifier [ number_literal ]) == (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(pppppppuVar16 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (goto_statement "goto LAB_00089257;" goto statement_identifier ;)) (labeled_statement "LAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "pppppppuVar16 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar16 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x899e3;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x899e3" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_001283f0();" (assignment_expression "cVar7 = FUN_001283f0()" identifier = (call_expression "FUN_001283f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') goto LAB_00089ed0;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00089ed0;" goto statement_identifier ;)) (labeled_statement "LAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];" statement_identifier : (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;)) (expression_statement "uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;" (assignment_expression "uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff" identifier = (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal)) ;) (if_statement "if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" if (parenthesized_expression "(uVar39 - 0xb < 3)" ( (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n          local_f4 = (undefined4 *******)0x8000;\n        }" { (expression_statement "local_f4 = (undefined4 *******)0x8000;" (assignment_expression "local_f4 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" else (compound_statement "{\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" { (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;" if (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17))" ( (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(unaff_EBX = pppppppuVar10, uVar39 != 0x17)" ( (comma_expression "unaff_EBX = pppppppuVar10, uVar39 != 0x17" (assignment_expression "unaff_EBX = pppppppuVar10" identifier = identifier) , (binary_expression "uVar39 != 0x17" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "local_f4 = (undefined4 *******)0x2000000;" (assignment_expression "local_f4 = (undefined4 *******)0x2000000" identifier = (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)*local_a8;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)*local_a8" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)*local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];" (assignment_expression "ppppppuVar11 = ((undefined4 *******)local_b4)[0x21]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x21]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (if_statement "if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;" if (parenthesized_expression "((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31)" ( (binary_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31" (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3" (binary_expression "(int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11" (cast_expression "(int)((undefined4 *******)local_b4)[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x22]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) - (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008bf9d;" goto statement_identifier ;)) (expression_statement "local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1]" identifier = (subscript_expression "ppppppuVar11[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ])) ;) (expression_statement "local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];" (assignment_expression "local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2]" identifier = (cast_expression "(undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (if_statement "if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }" if (parenthesized_expression "(((uint)local_e0 & (uint)local_e4) == 0xffffffff)" ( (binary_expression "((uint)local_e0 & (uint)local_e4) == 0xffffffff" (parenthesized_expression "((uint)local_e0 & (uint)local_e4)" ( (binary_expression "(uint)local_e0 & (uint)local_e4" (cast_expression "(uint)local_e0" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == number_literal) )) (compound_statement "{\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478d6" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xd3b;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xd3b" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4745f" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c39c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c39c" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec)" identifier = (cast_expression "(undefined4 *******)(local_ac + -0xdb9ec)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdb9ec)" ( (binary_expression "local_ac + -0xdb9ec" identifier + number_literal) )))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18]" identifier = (cast_expression "(undefined4 *******)(*(undefined4 *******)local_b4)[0x18]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*(undefined4 *******)local_b4)[0x18]" (parenthesized_expression "(*(undefined4 *******)local_b4)" ( (pointer_expression "*(undefined4 *******)local_b4" * (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" if (parenthesized_expression "(pppppppuVar10 == unaff_EBX)" ( (binary_expression "pppppppuVar10 == unaff_EBX" identifier == identifier) )) (compound_statement "{\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }" { (expression_statement "unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];" (assignment_expression "unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe]" identifier = (cast_expression "(undefined4 *******)((undefined4 *******)local_b4)[0xe]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "((undefined4 *******)local_b4)[0xe]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) ;) (if_statement "if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }" if (parenthesized_expression "((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31)" ( (binary_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31" (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2" (binary_expression "(int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX" (cast_expression "(int)((undefined4 *******)local_b4)[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xf]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }" { (labeled_statement "LAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4772e" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c335;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c335" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];" (assignment_expression "ppppppuVar31 = unaff_EBX[(int)ppppppuVar31]" identifier = (subscript_expression "unaff_EBX[(int)ppppppuVar31]" identifier [ (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) }) (else_clause "else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" else (compound_statement "{\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" { (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar36 + -0x10)" * (cast_expression "(undefined4 ********)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8adac;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8adac" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();" (assignment_expression "ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)()" identifier = (cast_expression "(undefined4 ******)(*(code *)pppppppuVar10)()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "ppppppuVar11 = local_ac;" (assignment_expression "ppppppuVar11 = local_ac" identifier = identifier) ;) (if_statement "if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;" if (parenthesized_expression "(((uint)ppppppuVar31[7] & 1) == 0)" ( (binary_expression "((uint)ppppppuVar31[7] & 1) == 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 1)" ( (binary_expression "(uint)ppppppuVar31[7] & 1" (cast_expression "(uint)ppppppuVar31[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf5b;" goto statement_identifier ;)) (expression_statement "local_cc._4_4_ = ppppppuVar31[2];" (assignment_expression "local_cc._4_4_ = ppppppuVar31[2]" (field_expression "local_cc._4_4_" identifier . field_identifier) = (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];" (assignment_expression "local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1]" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)ppppppuVar31[1]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ]))) ;) (expression_statement "local_dc._4_4_ = (undefined4 ******)local_a8[3];" (assignment_expression "local_dc._4_4_ = (undefined4 ******)local_a8[3]" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)local_a8[3]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[3]" identifier [ number_literal ]))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_a8[2];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_a8[2]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) ;) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar33 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (expression_statement "pppppuVar14 = ppppppuVar31[0x37];" (assignment_expression "pppppuVar14 = ppppppuVar31[0x37]" identifier = (subscript_expression "ppppppuVar31[0x37]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }" if (parenthesized_expression "((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33)" ( (binary_expression "(undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33" (cast_expression "(undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)" ( (binary_expression "((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333" (parenthesized_expression "((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2)" ( (binary_expression "(int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2" (binary_expression "(int)ppppppuVar31[0x38] - (int)pppppuVar14" (cast_expression "(int)ppppppuVar31[0x38]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x38]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 ******)(puVar36 + -4) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar36 + -4) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar36 + -4)" * (cast_expression "(undefined4 ******)(puVar36 + -4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4773f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c2b0" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_40 = (undefined4 *******)0x0;" (assignment_expression "local_40 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_3c = (undefined4 *******)0xffffffff;" (assignment_expression "local_3c = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_38 = (undefined4 *******)0x80000000;" (assignment_expression "local_38 = (undefined4 *******)0x80000000" identifier = (cast_expression "(undefined4 *******)0x80000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_34 = (undefined4 *******)0x0;" (assignment_expression "local_34 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }" if (parenthesized_expression "((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10)" ( (binary_expression "*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10" (pointer_expression "*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" * (cast_expression "(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" ( (binary_expression "(int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb" (cast_expression "(int)(pppppuVar14 + (int)ppppppuVar33 * 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppuVar14 + (int)ppppppuVar33 * 5)" ( (binary_expression "pppppuVar14 + (int)ppppppuVar33 * 5" identifier + (binary_expression "(int)ppppppuVar33 * 5" (cast_expression "(int)ppppppuVar33" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            local_38 = (undefined4 *******)0x90000000;\n          }" { (expression_statement "local_38 = (undefined4 *******)0x90000000;" (assignment_expression "local_38 = (undefined4 *******)0x90000000" identifier = (cast_expression "(undefined4 *******)0x90000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) })) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5" (pointer_expression "*(undefined4 ******)(puVar36 + -0x18)" * (cast_expression "(undefined4 ******)(puVar36 + -0x18)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = (binary_expression "pppppuVar14 + (int)ppppppuVar33 * 5" identifier + (binary_expression "(int)ppppppuVar33 * 5" (cast_expression "(int)ppppppuVar33" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33" (pointer_expression "*(undefined4 *******)(puVar36 + -0x1c)" * (cast_expression "(undefined4 *******)(puVar36 + -0x1c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x1c)" ( (binary_expression "puVar36 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x20)" * (cast_expression "(undefined4 *******)(puVar36 + -0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x20)" ( (binary_expression "puVar36 + -0x20" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x24) = 0x8a65b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x24) = 0x8a65b" (pointer_expression "*(undefined4 *)(puVar36 + -0x24)" * (cast_expression "(undefined4 *)(puVar36 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x24)" ( (binary_expression "puVar36 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001290d0();" (assignment_expression "iVar19 = FUN_001290d0()" identifier = (call_expression "FUN_001290d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppppppuVar31 = local_a8;" (assignment_expression "ppppppuVar31 = local_a8" identifier = identifier) ;) (if_statement "if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }" if (parenthesized_expression "((iVar19 != 0) || (-1 < (int)local_38))" ( (binary_expression "(iVar19 != 0) || (-1 < (int)local_38)" (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) || (parenthesized_expression "(-1 < (int)local_38)" ( (binary_expression "-1 < (int)local_38" number_literal < (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8aebf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8aebf" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000aa480();" (call_expression "FUN_000aa480()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar11;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar11" identifier = (cast_expression "(undefined4 *******)ppppppuVar11" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (goto_statement "goto LAB_00089370;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar36 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0xc) = *local_a8;" (assignment_expression "*(undefined4 ******)(puVar36 + -0xc) = *local_a8" (pointer_expression "*(undefined4 ******)(puVar36 + -0xc)" * (cast_expression "(undefined4 ******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (pointer_expression "*local_a8" * identifier)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a687;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a687" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_000a9940();" (assignment_expression "lVar44 = FUN_000a9940()" identifier = (call_expression "FUN_000a9940()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);" (assignment_expression "bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" identifier = (pointer_expression "*(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" * (cast_expression "(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" ( (binary_expression "(int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]" (cast_expression "(int)(*ppppppuVar31)[0x6c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(*ppppppuVar31)[0x6c]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ])) + (cast_expression "(int)ppppppuVar31[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ]))) ))))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);" (assignment_expression "local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" identifier = (binary_expression "lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" identifier + (call_expression "(ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" ( (binary_expression "1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc" (binary_expression "1 << (sbyte)((int)(uint)bVar42 >> 5)" number_literal << (call_expression "(sbyte)((int)(uint)bVar42 >> 5)" (parenthesized_expression "(sbyte)" ( identifier )) (argument_list "((int)(uint)bVar42 >> 5)" ( (binary_expression "(int)(uint)bVar42 >> 5" (cast_expression "(int)(uint)bVar42" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) >> number_literal) )))) & number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a6cf" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a8 = ppppppuVar31;" (assignment_expression "local_a8 = ppppppuVar31" identifier = identifier) ;) (expression_statement "FUN_000aa480();" (call_expression "FUN_000aa480()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);" statement_identifier : (expression_statement "local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);" (assignment_expression "local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6])" identifier = (cast_expression "(undefined4 ******)((uint)local_5c + (int)local_a8[6])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)local_5c + (int)local_a8[6])" ( (binary_expression "(uint)local_5c + (int)local_a8[6]" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)local_a8[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[6]" identifier [ number_literal ]))) )))) ;)) (expression_statement "local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));" (assignment_expression "local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" identifier = (cast_expression "(undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" ( (binary_expression "(int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6])" (binary_expression "(int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20)" (cast_expression "(int)local_a8[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) + (cast_expression "(int)((ulonglong)local_5c >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)local_5c >> 0x20)" ( (binary_expression "(ulonglong)local_5c >> 0x20" (cast_expression "(ulonglong)local_5c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) + (cast_expression "(uint)CARRY4((uint)local_5c,(uint)local_a8[6])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_5c,(uint)local_a8[6])" identifier (argument_list "((uint)local_5c,(uint)local_a8[6])" ( (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_a8[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[6]" identifier [ number_literal ])) ))))) )))) ;) (expression_statement "local_5c = CONCAT44(local_108,local_10c);" (assignment_expression "local_5c = CONCAT44(local_108,local_10c)" identifier = (call_expression "CONCAT44(local_108,local_10c)" identifier (argument_list "(local_108,local_10c)" ( identifier , identifier )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_fc;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_fc" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }" if (parenthesized_expression "((undefined4 *******)local_fc == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_fc == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }" { (expression_statement "pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_a8)[0x69]" identifier = (cast_expression "(undefined4 *****)(*local_a8)[0x69]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_a8)[0x69]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) ;) (if_statement "if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }" if (parenthesized_expression "(local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2))" ( (binary_expression "local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" (subscript_expression "local_a8[1]" identifier [ number_literal ]) < (cast_expression "(undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" ( (binary_expression "(int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2" (binary_expression "(int)(*local_a8)[0x6a] - (int)pppppuVar14" (cast_expression "(int)(*local_a8)[0x6a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(*local_a8)[0x6a]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ])) - (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }" { (expression_statement "pppppuVar34 = (undefined4 *****)(*local_c4)[3];" (assignment_expression "pppppuVar34 = (undefined4 *****)(*local_c4)[3]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[3]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }" if (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe\n                        */\n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }" { (labeled_statement "LAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;" statement_identifier : (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c3fe;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c3fe" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000534d0();" (call_expression "FUN_000534d0()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "uVar39 = FUN_0002e11a();" (assignment_expression "uVar39 = FUN_0002e11a()" identifier = (call_expression "FUN_0002e11a()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar39;" return identifier ;) })) (expression_statement "ppppuVar17 = pppppuVar14[(int)local_a8[1]];" (assignment_expression "ppppuVar17 = pppppuVar14[(int)local_a8[1]]" identifier = (subscript_expression "pppppuVar14[(int)local_a8[1]]" identifier [ (cast_expression "(int)local_a8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[1]" identifier [ number_literal ])) ])) ;) (if_statement "if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }" if (parenthesized_expression "(ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2))" ( (binary_expression "ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" identifier < (cast_expression "(undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" ( (binary_expression "(int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2" (binary_expression "(int)pppppuVar34[0x14] - (int)pppppuVar34[0x13]" (cast_expression "(int)pppppuVar34[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[0x14]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar34[0x13]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[0x13]" identifier [ number_literal ]))) >> number_literal) )))) )) (compound_statement "{\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar34[0x13][(int)ppppuVar17]" (subscript_expression "pppppuVar34[0x13]" identifier [ number_literal ]) [ (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) })) }) (else_clause "else {\n            }" else (compound_statement "{\n            }" { }))) })) (expression_statement "local_5c._0_4_ = (undefined4 *******)local_10c;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)local_10c" (field_expression "local_5c._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_10c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_5c._4_4_ = (undefined4 *******)local_108;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)local_108" (field_expression "local_5c._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_108" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }" if (parenthesized_expression "(((uint)pppppuVar26[2] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[2] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" ( (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }" { (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(puVar36 + -0xc) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar36 + -0xc) = &local_5c" (pointer_expression "*(undefined8 **)(puVar36 + -0xc)" * (cast_expression "(undefined8 **)(puVar36 + -0xc)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0x10) = *local_a8;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x10) = *local_a8" (pointer_expression "*(undefined4 ******)(puVar36 + -0x10)" * (cast_expression "(undefined4 ******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_a8" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8b155;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8b155" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00088b60();" (assignment_expression "cVar7 = FUN_00088b60()" identifier = (call_expression "FUN_00088b60()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)0x0;" (assignment_expression "unaff_EBX = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if (cVar7 == '\0') goto LAB_00089370;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) })) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);" (assignment_expression "bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" identifier = (call_expression "CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" identifier (argument_list "((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) ;) (expression_statement "local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);" (assignment_expression "local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc" (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )))) ;) (expression_statement "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);" (assignment_expression "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" ( (binary_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41" (binary_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_" (cast_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0)" ( (binary_expression "(int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0" (binary_expression "(int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" (cast_expression "(int)local_dc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_dc._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" identifier (argument_list "((uint)(undefined4 *******)local_dc,(uint)local_e4)" ( (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) + identifier) )))) ;) (expression_statement "pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;" (assignment_expression "pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" identifier = (cast_expression "(undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" ( (binary_expression "(int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc))" (binary_expression "(int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" (cast_expression "(int)local_5c._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_5c._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" identifier (argument_list "((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" ( (binary_expression "(int)local_f4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)(undefined4 *******)local_5c" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ))))) + (parenthesized_expression "((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc))" ( (binary_expression "(local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)" (parenthesized_expression "(local_f0 - (int)local_cc._4_4_)" ( (binary_expression "local_f0 - (int)local_cc._4_4_" identifier - (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)(local_f4 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_f4 < (undefined4 *******)local_cc)" ( (binary_expression "local_f4 < (undefined4 *******)local_cc" identifier < (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) ))) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f)" identifier = (cast_expression "(undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_f0 << 1 | (uint)local_f4 >> 0x1f)" ( (binary_expression "local_f0 << 1 | (uint)local_f4 >> 0x1f" (binary_expression "local_f0 << 1" identifier << number_literal) | (binary_expression "(uint)local_f4 >> 0x1f" (cast_expression "(uint)local_f4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "local_10c = (undefined4 *******)local_5c;" (assignment_expression "local_10c = (undefined4 *******)local_5c" identifier = (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_108 = local_5c._4_4_;" (assignment_expression "local_108 = local_5c._4_4_" identifier = (field_expression "local_5c._4_4_" identifier . field_identifier)) ;) (if_statement "if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }" if (parenthesized_expression "(unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX))" ( (binary_expression "unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)" (binary_expression "unaff_EBX <= pppppppuVar30" identifier <= identifier) && (binary_expression "(uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)" (call_expression "(uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2))" ( (binary_expression "(undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)" (cast_expression "(undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c)" ( (binary_expression "((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c" (parenthesized_expression "((int)local_f4 - (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)local_f4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) + (cast_expression "(int)(undefined4 *******)local_5c" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) < (cast_expression "(undefined *)((int)local_f4 * 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 * 2)" ( (binary_expression "(int)local_f4 * 2" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ))) <= (call_expression "(uint)((int)pppppppuVar30 - (int)unaff_EBX)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppuVar30 - (int)unaff_EBX)" ( (binary_expression "(int)pppppppuVar30 - (int)unaff_EBX" (cast_expression "(int)pppppppuVar30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) )) (compound_statement "{\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }" { (if_statement "if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" if (parenthesized_expression "((undefined4 *******)local_b4 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_b4 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x10]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[0x10]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xd8af4)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xd8af4)" ( (binary_expression "local_ac + -0xd8af4" identifier + number_literal) )))) )) (compound_statement "{\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }" { (expression_statement "*(undefined4 ******)(puVar36 + -8) = local_a8[1];" (assignment_expression "*(undefined4 ******)(puVar36 + -8) = local_a8[1]" (pointer_expression "*(undefined4 ******)(puVar36 + -8)" * (cast_expression "(undefined4 ******)(puVar36 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (subscript_expression "local_a8[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + 0x24" identifier + number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bd71;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bd71" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b1290();" (call_expression "FUN_000b1290()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" else (compound_statement "{\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" { (expression_statement "*(undefined4 ******)(puVar36 + -8) = local_a8[1];" (assignment_expression "*(undefined4 ******)(puVar36 + -8) = local_a8[1]" (pointer_expression "*(undefined4 ******)(puVar36 + -8)" * (cast_expression "(undefined4 ******)(puVar36 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (subscript_expression "local_a8[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf53;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf53" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "ppppppuVar31 = local_40;" (assignment_expression "ppppppuVar31 = local_40" identifier = identifier) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_a8)[1];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_a8)[1]" identifier = (cast_expression "(undefined4 *****)(*local_a8)[1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_a8)[1]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4723a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bd99;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bd99" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar36 + -0x10)" * (cast_expression "(undefined4 ******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bdac;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bdac" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000d1360();" (call_expression "FUN_000d1360()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) (if_statement "if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }" if (parenthesized_expression "((undefined4 *******)local_40 != &local_38)" ( (binary_expression "(undefined4 *******)local_40 != &local_38" (cast_expression "(undefined4 *******)local_40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (pointer_expression "&local_38" & identifier)) )) (compound_statement "{\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_40;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_40" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bdc6" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) })) }) (else_clause "else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" else (compound_statement "{\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" { (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                local_121 = false;\n              }" { (expression_statement "local_121 = false;" (assignment_expression "local_121 = false" identifier = false) ;) }) (else_clause "else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" else (compound_statement "{\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" { (expression_statement "local_121 = false;" (assignment_expression "local_121 = false" identifier = false) ;) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }" { (expression_statement "local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];" (assignment_expression "local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b]" identifier = (binary_expression "pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b]" (subscript_expression "pppppppuVar16[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)pppppuVar26[0x2b]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "pppppuVar26[0x2b]" identifier [ number_literal ])))) ;) })) }))) (expression_statement "local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);" (assignment_expression "local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_f4._1_3_,local_121)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_f4._1_3_,local_121)" identifier (argument_list "(local_f4._1_3_,local_121)" ( (field_expression "local_f4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;) (expression_statement "local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;" (assignment_expression "local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff" identifier = (binary_expression "(uint)(undefined4 *******)local_dc & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal)) ;) (expression_statement "local_e4 = ((undefined4 *******)local_b4)[0x1f];" (assignment_expression "local_e4 = ((undefined4 *******)local_b4)[0x1f]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = 0x1c" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89c71;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89c71" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)FUN_00246670();" (assignment_expression "ppppppuVar11 = (undefined4 ******)FUN_00246670()" identifier = (cast_expression "(undefined4 ******)FUN_00246670()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00246670()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_38 = (undefined4 *******)0x8000;" (assignment_expression "local_38 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "*ppppppuVar11 = (undefined4 *****)0x0;" (assignment_expression "*ppppppuVar11 = (undefined4 *****)0x0" (pointer_expression "*ppppppuVar11" * identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_3c = local_108;" (assignment_expression "local_3c = local_108" identifier = identifier) ;) (expression_statement "local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);" (assignment_expression "local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_34._1_3_,local_f4._0_1_)" identifier (argument_list "(local_34._1_3_,local_f4._0_1_)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (field_expression "local_f4._0_1_" identifier . field_identifier) ))))) ;) (expression_statement "ppppppuVar11[2] = local_108;" (assignment_expression "ppppppuVar11[2] = local_108" (subscript_expression "ppppppuVar11[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar11[1] = local_10c;" (assignment_expression "ppppppuVar11[1] = local_10c" (subscript_expression "ppppppuVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar11[4] = local_34;" (assignment_expression "ppppppuVar11[4] = local_34" (subscript_expression "ppppppuVar11[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar11[3] = (undefined4 *****)0x8000;" (assignment_expression "ppppppuVar11[3] = (undefined4 *****)0x8000" (subscript_expression "ppppppuVar11[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x8000" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppuVar11[5] = local_e4;" (assignment_expression "ppppppuVar11[5] = local_e4" (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = local_10c;" (assignment_expression "local_40 = local_10c" identifier = identifier) ;) (expression_statement "ppppppuVar31 = pppppppuVar10[0x16];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0x16]" identifier = (subscript_expression "pppppppuVar10[0x16]" identifier [ number_literal ])) ;) (expression_statement "local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);" (assignment_expression "local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000)" identifier = (cast_expression "(undefined4 ******)((uint)local_10c ^ 0x8000)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)local_10c ^ 0x8000)" ( (binary_expression "(uint)local_10c ^ 0x8000" (cast_expression "(uint)local_10c" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) )))) ;) (expression_statement "uVar39 = (uint)local_f4 % (uint)ppppppuVar31;" (assignment_expression "uVar39 = (uint)local_f4 % (uint)ppppppuVar31" identifier = (binary_expression "(uint)local_f4 % (uint)ppppppuVar31" (cast_expression "(uint)local_f4" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_f4;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_f4" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89cef;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89cef" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "piVar13 = (int *)FUN_0004df50();" (assignment_expression "piVar13 = (int *)FUN_0004df50()" identifier = (cast_expression "(int *)FUN_0004df50()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004df50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" if (parenthesized_expression "((piVar13 == (int *)0x0) || (*piVar13 == 0))" ( (binary_expression "(piVar13 == (int *)0x0) || (*piVar13 == 0)" (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar13 == 0)" ( (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" * identifier) == number_literal) ))) )) (compound_statement "{\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }" { (expression_statement "local_12c = ((undefined4 *******)local_b4)[0x1a];" (assignment_expression "local_12c = ((undefined4 *******)local_b4)[0x1a]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1a]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x18)" * (cast_expression "(undefined4 *******)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19" (pointer_expression "*(undefined4 ********)(puVar36 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar36 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0x1c)" ( (binary_expression "puVar36 + -0x1c" identifier + number_literal) )))) = (binary_expression "(undefined4 *******)local_b4 + 0x19" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) (expression_statement "*(char **)(puVar36 + -0x20) = local_94;" (assignment_expression "*(char **)(puVar36 + -0x20) = local_94" (pointer_expression "*(char **)(puVar36 + -0x20)" * (cast_expression "(char **)(puVar36 + -0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x20)" ( (binary_expression "puVar36 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x24) = 0x89ddd;" (assignment_expression "*(undefined4 *)(puVar36 + -0x24) = 0x89ddd" (pointer_expression "*(undefined4 *)(puVar36 + -0x24)" * (cast_expression "(undefined4 *)(puVar36 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x24)" ( (binary_expression "puVar36 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0028d8d0();" (call_expression "FUN_0028d8d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_90;" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_90" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_90" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" if (parenthesized_expression "(local_94[0] == '\0')" ( (binary_expression "local_94[0] == '\0'" (subscript_expression "local_94[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }" { (expression_statement "local_12c = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "local_12c = ((undefined4 *******)local_b4)[0x15]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" else (compound_statement "{\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" { (if_statement "if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" if (parenthesized_expression "((undefined4 *******)local_90 == (undefined4 *******)0x1)" ( (binary_expression "(undefined4 *******)local_90 == (undefined4 *******)0x1" (cast_expression "(undefined4 *******)local_90" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }" { (expression_statement "((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;" (assignment_expression "((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[0x1b]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_138 = (undefined4 *******)local_b4 + 0x1b;" (assignment_expression "local_138 = (undefined4 *******)local_b4 + 0x1b" identifier = (binary_expression "(undefined4 *******)local_b4 + 0x1b" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) (expression_statement "local_12c = local_138;" (assignment_expression "local_12c = local_138" identifier = identifier) ;) }) (else_clause "else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" else (compound_statement "{\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" { comment (expression_statement "*(undefined4 *)(puVar36 + -8) = 0x89e0d;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0x89e0d" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_12c = (undefined4 ******)FUN_00053420();" (assignment_expression "local_12c = (undefined4 ******)FUN_00053420()" identifier = (cast_expression "(undefined4 ******)FUN_00053420()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00053420()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_138 = (undefined4 *******)local_b4 + 0x1b;" (assignment_expression "local_138 = (undefined4 *******)local_b4 + 0x1b" identifier = (binary_expression "(undefined4 *******)local_b4 + 0x1b" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) }))) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x17]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }" if (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }" { (expression_statement "local_134 = (undefined4 *******)local_b4 + 0x17;" (assignment_expression "local_134 = (undefined4 *******)local_b4 + 0x17" identifier = (binary_expression "(undefined4 *******)local_b4 + 0x17" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" identifier = number_literal) ;) (expression_statement "local_13c = local_a8;" (assignment_expression "local_13c = local_a8" identifier = identifier) ;) (do_statement "do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);" do (compound_statement "{\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    }" { (expression_statement "ppppppuVar33 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "ppppppuVar33 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ;) (expression_statement "uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;" (assignment_expression "uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc" identifier = (binary_expression "(uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc" (cast_expression "(uint)ppppppuVar31[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[6]" identifier [ number_literal ])) % (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);" (assignment_expression "pppppppuVar10 = (undefined4 *******)(local_12c + uVar39)" identifier = (cast_expression "(undefined4 *******)(local_12c + uVar39)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_12c + uVar39)" ( (binary_expression "local_12c + uVar39" identifier + identifier) )))) ;) (if_statement "if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" if (parenthesized_expression "(*pppppppuVar10 == (undefined4 ******)0x0)" ( (binary_expression "*pppppppuVar10 == (undefined4 ******)0x0" (pointer_expression "*pppppppuVar10" * identifier) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }" { (expression_statement "*ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "*ppppppuVar31 = ((undefined4 *******)local_b4)[0x17]" (pointer_expression "*ppppppuVar31" * identifier) = (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x17] = ppppppuVar31;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = ppppppuVar31" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "*pppppppuVar10 = local_134;" (assignment_expression "*pppppppuVar10 = local_134" (pointer_expression "*pppppppuVar10" * identifier) = identifier) ;) (if_statement "if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }" if (parenthesized_expression "(*ppppppuVar31 != (undefined4 *****)0x0)" ( (binary_expression "*ppppppuVar31 != (undefined4 *****)0x0" (pointer_expression "*ppppppuVar31" * identifier) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                          local_12c[local_130] = ppppppuVar31;\n                        }" { (expression_statement "local_12c[local_130] = ppppppuVar31;" (assignment_expression "local_12c[local_130] = ppppppuVar31" (subscript_expression "local_12c[local_130]" identifier [ identifier ]) = identifier) ;) })) }) (else_clause "else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" else (compound_statement "{\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" { (expression_statement "*ppppppuVar31 = **pppppppuVar10;" (assignment_expression "*ppppppuVar31 = **pppppppuVar10" (pointer_expression "*ppppppuVar31" * identifier) = (pointer_expression "**pppppppuVar10" * (pointer_expression "*pppppppuVar10" * identifier))) ;) (expression_statement "**pppppppuVar10 = ppppppuVar31;" (assignment_expression "**pppppppuVar10 = ppppppuVar31" (pointer_expression "**pppppppuVar10" * (pointer_expression "*pppppppuVar10" * identifier)) = identifier) ;) (expression_statement "uVar39 = local_130;" (assignment_expression "uVar39 = local_130" identifier = identifier) ;) }))) (expression_statement "local_130 = uVar39;" (assignment_expression "local_130 = uVar39" identifier = identifier) ;) (expression_statement "ppppppuVar31 = ppppppuVar33;" (assignment_expression "ppppppuVar31 = ppppppuVar33" identifier = identifier) ;) (expression_statement "local_140 = ppppppuVar11;" (assignment_expression "local_140 = ppppppuVar11" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppuVar33 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar33 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) })) (if_statement "if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }" if (parenthesized_expression "(((undefined4 *******)local_b4)[0x15] != local_138)" ( (binary_expression "((undefined4 *******)local_b4)[0x15] != local_138" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != identifier) )) (compound_statement "{\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bccf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bccf" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;" (assignment_expression "((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc" (subscript_expression "((undefined4 *******)local_b4)[0x16]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "((undefined4 *******)local_b4)[0x15] = local_12c;" (assignment_expression "((undefined4 *******)local_b4)[0x15] = local_12c" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;" (assignment_expression "uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc" identifier = (binary_expression "(uint)local_f4 % (uint)(undefined4 *******)local_dc" (cast_expression "(uint)local_f4" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)))) ;) }))) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "unaff_EBX = (undefined4 *******)(uVar39 * 4);" (assignment_expression "unaff_EBX = (undefined4 *******)(uVar39 * 4)" identifier = (cast_expression "(undefined4 *******)(uVar39 * 4)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(uVar39 * 4)" ( (binary_expression "uVar39 * 4" identifier * number_literal) )))) ;) (expression_statement "ppppppuVar11[6] = local_f4;" (assignment_expression "ppppppuVar11[6] = local_f4" (subscript_expression "ppppppuVar11[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" if (parenthesized_expression "((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_12c[uVar39]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_12c[uVar39]" identifier [ identifier ])) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }" { (expression_statement "*ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "*ppppppuVar11 = ((undefined4 *******)local_b4)[0x17]" (pointer_expression "*ppppppuVar11" * identifier) = (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x17] = ppppppuVar11;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = ppppppuVar11" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = identifier) ;) (if_statement "if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" if (parenthesized_expression "(*ppppppuVar11 == (undefined4 *****)0x0)" ( (binary_expression "*ppppppuVar11 == (undefined4 *****)0x0" (pointer_expression "*ppppppuVar11" * identifier) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" else (compound_statement "{\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;" (assignment_expression "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11" (subscript_expression "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]]" identifier [ (binary_expression "(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]" (subscript_expression "(uint)(*ppppppuVar11)[6]" (call_expression "(uint)(*ppppppuVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*ppppppuVar11)" ( (pointer_expression "*ppppppuVar11" * identifier) ))) [ number_literal ]) % (subscript_expression "(uint)((undefined4 *******)local_b4)[0x16]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ])) ]) = identifier) ;) }))) (expression_statement "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;" (assignment_expression "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17" (pointer_expression "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31)" * (cast_expression "(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)unaff_EBX + (int)ppppppuVar31)" ( (binary_expression "(int)unaff_EBX + (int)ppppppuVar31" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (binary_expression "(undefined4 *******)local_b4 + 0x17" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) }) (else_clause "else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" else (compound_statement "{\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" { (expression_statement "*ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];" (assignment_expression "*ppppppuVar11 = (undefined4 *****)*local_12c[uVar39]" (pointer_expression "*ppppppuVar11" * identifier) = (cast_expression "(undefined4 *****)*local_12c[uVar39]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*local_12c[uVar39]" * (subscript_expression "local_12c[uVar39]" identifier [ identifier ])))) ;) (expression_statement "*((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;" (assignment_expression "*((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11" (pointer_expression "*((undefined4 *******)local_b4)[0x15][uVar39]" * (subscript_expression "((undefined4 *******)local_b4)[0x15][uVar39]" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ identifier ])) = identifier) ;) }))) (expression_statement "((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);" (assignment_expression "((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1)" (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0x18] + 1)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x18] + 1" (cast_expression "(int)((undefined4 *******)local_b4)[0x18]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) ;) (if_statement "if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" if (parenthesized_expression "(local_121 == false)" ( (binary_expression "local_121 == false" identifier == false) )) (compound_statement "{\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }" { (expression_statement "*(undefined4 *)(puVar36 + -8) = 0x8be14;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0x8be14" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar43 = FUN_00056b90();" (assignment_expression "uVar43 = FUN_00056b90()" identifier = (call_expression "FUN_00056b90()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppppuVar10[0x1e]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppuVar10[0x1e]" identifier [ number_literal ]))) ;) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);" (assignment_expression "pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" identifier = (cast_expression "(undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" ( (binary_expression "(0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]" (parenthesized_expression "(0x2000000U - (int)(undefined4 *******)local_dc)" ( (binary_expression "0x2000000U - (int)(undefined4 *******)local_dc" number_literal - (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) + (cast_expression "(int)ppppppuVar11[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar11[1]" identifier [ number_literal ]))) )))) ;) (expression_statement "uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];" (assignment_expression "uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5]" identifier = (binary_expression "(int)pppppuVar26 - (int)ppppppuVar11[5]" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar11[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ])))) ;) (expression_statement "unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));" (assignment_expression "unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" identifier = (cast_expression "(undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" ( (binary_expression "(int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43))" (cast_expression "(int)ppppppuVar11[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar11[2]" identifier [ number_literal ])) + (parenthesized_expression "(((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43))" ( (binary_expression "((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)" (parenthesized_expression "((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20))" ( (binary_expression "(((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)" (parenthesized_expression "(((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5]))" ( (binary_expression "((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])" (parenthesized_expression "((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       ))" ( (binary_expression "(uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" (cast_expression "(uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" identifier (argument_list "(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" ( (binary_expression "0x2000000U - (int)(undefined4 *******)local_dc" number_literal - (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)ppppppuVar11[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar11[1]" identifier [ number_literal ])) )))) - (call_expression "(uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" ( (binary_expression "(undefined4 *******)0x2000000 < (undefined4 *******)local_dc" (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) < (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) )) - (call_expression "(uint)(pppppuVar26 < ppppppuVar11[5])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppuVar26 < ppppppuVar11[5])" ( (binary_expression "pppppuVar26 < ppppppuVar11[5]" identifier < (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ])) )))) )) - (cast_expression "(int)((ulonglong)uVar43 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar43 >> 0x20)" ( (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) )) - (call_expression "(uint)(uVar39 < (uint)uVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 < (uint)uVar43)" ( (binary_expression "uVar39 < (uint)uVar43" identifier < (cast_expression "(uint)uVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ))) )))) ;) (if_statement "if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" if (parenthesized_expression "(unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX)" ( (binary_expression "unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX" (binary_expression "unaff_EBX == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) && (binary_expression "(uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX" (call_expression "(uint)(0x3ffffff < uVar39 - (uint)uVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffffff < uVar39 - (uint)uVar43)" ( (binary_expression "0x3ffffff < uVar39 - (uint)uVar43" number_literal < (binary_expression "uVar39 - (uint)uVar43" identifier - (cast_expression "(uint)uVar43" ( (type_descriptor "uint" type_identifier) ) identifier))) ))) <= (binary_expression "(uint)-(int)unaff_EBX" (parenthesized_expression "(uint)" ( identifier )) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)))) )) (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }" { (expression_statement "((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;" (assignment_expression "((undefined4 *******)local_b4)[0x1f] = local_e4 + 1" (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (binary_expression "local_e4 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" else (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" { (expression_statement "((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;" (assignment_expression "((undefined4 *******)local_b4)[0x1f] = local_e4 + 4" (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (binary_expression "local_e4 + 4" identifier + number_literal)) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar26 = ppppppuVar31[0x19];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x19]" identifier = (subscript_expression "ppppppuVar31[0x19]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = (undefined4 ******)((int)pppppuVar26 * 8);" (assignment_expression "local_38 = (undefined4 ******)((int)pppppuVar26 * 8)" identifier = (cast_expression "(undefined4 ******)((int)pppppuVar26 * 8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppuVar26 * 8)" ( (binary_expression "(int)pppppuVar26 * 8" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + 0x16" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar36 + -0x14) = local_9c;" (assignment_expression "*(undefined1 **)(puVar36 + -0x14) = local_9c" (pointer_expression "*(undefined1 **)(puVar36 + -0x14)" * (cast_expression "(undefined1 **)(puVar36 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_40 = local_10c;" (assignment_expression "local_40 = local_10c" identifier = identifier) ;) (expression_statement "local_3c = local_108;" (assignment_expression "local_3c = local_108" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8beab;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8beab" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b09c0();" (call_expression "FUN_000b09c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -8;" (assignment_expression "puVar35 = puVar36 + -8" identifier = (binary_expression "puVar36 + -8" identifier + number_literal)) ;) }))) }) (else_clause "else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" else (compound_statement "{\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" { (expression_statement "*(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;" (assignment_expression "*(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1" (pointer_expression "*(undefined1 *)((undefined4 *******)local_b4 + 0x23)" * (cast_expression "(undefined1 *)((undefined4 *******)local_b4 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_b4 + 0x23)" ( (binary_expression "(undefined4 *******)local_b4 + 0x23" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) }))) }) (else_clause "else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" else (compound_statement "{\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89d13;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89d13" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" if (parenthesized_expression "(local_128 - 0xb < 3)" ( (binary_expression "local_128 - 0xb < 3" (binary_expression "local_128 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n                uVar39 = 0x8000;\n              }" { (expression_statement "uVar39 = 0x8000;" (assignment_expression "uVar39 = 0x8000" identifier = number_literal) ;) }) (else_clause "else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" else (compound_statement "{\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" { (if_statement "if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;" if (parenthesized_expression "(((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))" ( (binary_expression "((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17)" (parenthesized_expression "((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(local_128 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(local_128 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "local_128 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "local_128 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_128 != 0x17)" ( (binary_expression "local_128 != 0x17" identifier != number_literal) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "uVar39 = 0x2000000;" (assignment_expression "uVar39 = 0x2000000" identifier = number_literal) ;) }))) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) == number_literal) )) (compound_statement "{\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }" { (labeled_statement "LAB_0008c2e9:\n                ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478da" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x11b2;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x11b2" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c30a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c30a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x89d6b;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x89d6b" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_00056b90();" (assignment_expression "lVar44 = FUN_00056b90()" identifier = (call_expression "FUN_00056b90()" identifier (argument_list "()" ( )))) ;) (expression_statement "lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);" (assignment_expression "lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" identifier = (binary_expression "lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" identifier + (call_expression "CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" identifier (argument_list "((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" ( (binary_expression "(-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" (parenthesized_expression "(-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_)" ( (binary_expression "-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_" (unary_expression "-(uint)(local_e4 < (undefined4 *******)local_cc)" - (call_expression "(uint)(local_e4 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_e4 < (undefined4 *******)local_cc)" ( (binary_expression "local_e4 < (undefined4 *******)local_cc" identifier < (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) - (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) )) + (cast_expression "(uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" identifier (argument_list "((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" ( (binary_expression "(int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , identifier ))))) , (binary_expression "((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39" (parenthesized_expression "((int)local_e4 - (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)local_e4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) + identifier) ))))) ;) (expression_statement "unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);" (assignment_expression "unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20)" identifier = (cast_expression "(undefined4 *******)((ulonglong)lVar44 >> 0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }" if (parenthesized_expression "((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX)" ( (binary_expression "(undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX" (cast_expression "(undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(uint)((uint)lVar44 < uVar39 * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar44 < uVar39 * 2)" ( (binary_expression "(uint)lVar44 < uVar39 * 2" (cast_expression "(uint)lVar44" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "uVar39 * 2" identifier * number_literal)) )))) <= identifier) )) (compound_statement "{\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_c4;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_c4" identifier = (cast_expression "(undefined4 ******)*local_c4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_c4" * identifier))) ;) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" identifier = identifier) ;) (if_statement "if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;" if (parenthesized_expression "(ppppppuVar31[2] != (undefined4 *****)0x0)" ( (binary_expression "ppppppuVar31[2] != (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ]) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008a1d8;" goto statement_identifier ;)) (goto_statement "goto LAB_0008a2be;" goto statement_identifier ;) })) }))) })) }) (else_clause "else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" else (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }" { (expression_statement "ppppppuVar31 = pppppppuVar16[2];" (assignment_expression "ppppppuVar31 = pppppppuVar16[2]" identifier = (subscript_expression "pppppppuVar16[2]" identifier [ number_literal ])) ;) (if_statement "if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }" if (parenthesized_expression "(((uint)ppppppuVar31[0xb] & 1) == 0)" ( (binary_expression "((uint)ppppppuVar31[0xb] & 1) == 0" (parenthesized_expression "((uint)ppppppuVar31[0xb] & 1)" ( (binary_expression "(uint)ppppppuVar31[0xb] & 1" (cast_expression "(uint)ppppppuVar31[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }" { (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[5]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[5]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60))" ( (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)" identifier != (cast_expression "(undefined4 *******)(local_ac + -0xdbf60)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf60)" ( (binary_expression "local_ac + -0xdbf60" identifier + number_literal) )))) )) (compound_statement "{\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bd01;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bd01" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = (*(code *)pppppppuVar10)();" (assignment_expression "iVar19 = (*(code *)pppppppuVar10)()" identifier = (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar11;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar11" identifier = (cast_expression "(undefined4 *******)ppppppuVar11" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (iVar19 != 0) goto LAB_00089370;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 ********)(puVar36 + -4) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -4) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -4)" * (cast_expression "(undefined4 ********)(puVar36 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47797" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;" (assignment_expression "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2" (pointer_expression "*(int *)(puVar36 + -0x10)" * (cast_expression "(int *)(puVar36 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_ac + -0x11d0d2" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;" (assignment_expression "*(undefined **)(puVar36 + -0x14) = &UNK_0008bd35" (pointer_expression "*(undefined **)(puVar36 + -0x14)" * (cast_expression "(undefined **)(puVar36 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008bd35" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;" if (parenthesized_expression "(pppppppuVar16[3] != (undefined4 ******)0x0)" ( (binary_expression "pppppppuVar16[3] != (undefined4 ******)0x0" (subscript_expression "pppppppuVar16[3]" identifier [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00089b0f;" goto statement_identifier ;)) (expression_statement "unaff_EBX = (undefined4 *******)0x0;" (assignment_expression "unaff_EBX = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) })) }) (else_clause "else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" else (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" { (labeled_statement "LAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0xc)" * (cast_expression "(undefined4 ********)(puVar36 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89b2b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89b2b" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_001eb810();" (assignment_expression "lVar44 = FUN_001eb810()" identifier = (call_expression "FUN_001eb810()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_5c = lVar44;" (assignment_expression "local_5c = lVar44" identifier = identifier) ;) (if_statement "if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }" if (parenthesized_expression "((undefined4 *******)local_40 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_40 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }" { (expression_statement "local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);" (assignment_expression "local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" identifier = (binary_expression "lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" identifier + (call_expression "(ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" ( (binary_expression "1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc" (binary_expression "1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5)" number_literal << (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x29) >> 5)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x29) >> 5" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x29)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x29)" ( (binary_expression "(int)pppppppuVar16 + 0x29" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))) & number_literal) ))))) ;) (goto_statement "goto LAB_00089b5e;" goto statement_identifier ;) })) })))))) }) (else_clause "else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" else (compound_statement "{\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" { (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f]" identifier = (cast_expression "(undefined4 *******)ppppppuVar31[0x2f]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2f]" identifier [ number_literal ]))) ;) (expression_statement "uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];" (assignment_expression "uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c]" identifier = (binary_expression "(int)ppppppuVar11 - (int)ppppppuVar31[0x2c]" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar31[0x2c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x2c]" identifier [ number_literal ])))) ;) (if_statement "if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }" if (parenthesized_expression "((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39)" ( (binary_expression "(uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39" (call_expression "(uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2)" ( (binary_expression "(int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2" (binary_expression "(int)ppppppuVar31[0x30] - (int)unaff_EBX" (cast_expression "(int)ppppppuVar31[0x30]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x30]" identifier [ number_literal ])) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47737" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c096;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c096" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];" (assignment_expression "pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39]" identifier = (cast_expression "(undefined4 *******)unaff_EBX[uVar39]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "unaff_EBX[uVar39]" identifier [ identifier ]))) ;) (expression_statement "local_c4 = local_f8;" (assignment_expression "local_c4 = local_f8" identifier = identifier) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_f8)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_f8)[3]" identifier = (cast_expression "(undefined4 *****)(*local_f8)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_f8)[3]" (parenthesized_expression "(*local_f8)" ( (pointer_expression "*local_f8" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477ea" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x73;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x73" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;" (assignment_expression "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93" (pointer_expression "*(int *)(puVar36 + -0x10)" * (cast_expression "(int *)(puVar36 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_ac + -0x131d93" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c0b4" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000899b9;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }" { (expression_statement "pppppppuVar10 = unaff_EBX;" (assignment_expression "pppppppuVar10 = unaff_EBX" identifier = identifier) ;) (if_statement "if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }" if (parenthesized_expression "(((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0))" ( (binary_expression "((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16)" ( (binary_expression "(undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16" (cast_expression "(undefined4 *******)pppppuVar26[0x2c]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2c]" identifier [ number_literal ])) == identifier) )) && (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ])) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (compound_statement "{\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }" { (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" identifier = (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ]))) ;) })) }) (else_clause "else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" else (compound_statement "{\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" { (expression_statement "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0xc)" * (cast_expression "(undefined4 ********)(puVar36 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a11a;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a11a" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar30 = (undefined4 *******)FUN_001e6f30();" (assignment_expression "pppppppuVar30 = (undefined4 *******)FUN_001e6f30()" identifier = (cast_expression "(undefined4 *******)FUN_001e6f30()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_001e6f30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" identifier = (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ]))) ;) (if_statement "if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }" if (parenthesized_expression "((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0))" ( (binary_expression "(((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)" (parenthesized_expression "(((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0))" ( (binary_expression "((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30)" ( (binary_expression "(undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30" (cast_expression "(undefined4 *******)pppppuVar26[0x2c]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2c]" identifier [ number_literal ])) != identifier) )) || (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) && (parenthesized_expression "(pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)" ( (comma_expression "pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0" (assignment_expression "pppppppuVar16 = pppppppuVar30" identifier = identifier) , (binary_expression "pppppppuVar30 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_000899d1;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];" statement_identifier : (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;)) (if_statement "if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }" if (parenthesized_expression "(((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd)" ( (binary_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd" (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff)" ( (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal) )) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }" { comment comment (expression_statement "uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();" (assignment_expression "uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))()" identifier = (call_expression "(*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))()" (parenthesized_expression "(*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))" ( (pointer_expression "*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" * (cast_expression "(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" ( (binary_expression "(int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" identifier [ (binary_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43" (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff)" ( (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal) )) - number_literal) ]))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar39;" return identifier ;) })) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }" if (parenthesized_expression "(((uint)pppppuVar26[2] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[2] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" ( (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar9 = 0x10;\n        }" { (expression_statement "uVar9 = 0x10;" (assignment_expression "uVar9 = 0x10" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0x10)" * (cast_expression "(undefined4 ********)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x892ab;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x892ab" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_000a7d80();" (assignment_expression "cVar7 = FUN_000a7d80()" identifier = (call_expression "FUN_000a7d80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') goto LAB_000899ee;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000899ee;" goto statement_identifier ;)) (if_statement "if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }" if (parenthesized_expression "(((uint)pppppuVar26[2] & 2) != 0)" ( (binary_expression "((uint)pppppuVar26[2] & 2) != 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" ( (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }" { (expression_statement "pppppuVar14 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }" if (parenthesized_expression "(pppppuVar14 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }" { (if_statement "if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;" if (parenthesized_expression "((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)((int)pppppuVar14 + 0x1a25) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar14 + 0x1a25) != '\0'" (pointer_expression "*(char *)((int)pppppuVar14 + 0x1a25)" * (cast_expression "(char *)((int)pppppuVar14 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x1a25)" ( (binary_expression "(int)pppppuVar14 + 0x1a25" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)((int)pppppuVar14 + 0x2931) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar14 + 0x2931) != '\0'" (pointer_expression "*(char *)((int)pppppuVar14 + 0x2931)" * (cast_expression "(char *)((int)pppppuVar14 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x2931)" ( (binary_expression "(int)pppppuVar14 + 0x2931" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00089ed0;" goto statement_identifier ;)) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x89306;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x89306" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00051ac0();" (assignment_expression "uVar9 = FUN_00051ac0()" identifier = (call_expression "FUN_00051ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((char)uVar9 != '\0') goto LAB_00089ed0;" if (parenthesized_expression "((char)uVar9 != '\0')" ( (binary_expression "(char)uVar9 != '\0'" (cast_expression "(char)uVar9" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00089ed0;" goto statement_identifier ;)) (expression_statement "ppppuVar17 = pppppuVar26[10];" (assignment_expression "ppppuVar17 = pppppuVar26[10]" identifier = (subscript_expression "pppppuVar26[10]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0x0)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0x0" identifier == (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477b1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x3a3;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x3a3" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4745f" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c3f9" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" if (parenthesized_expression "(*(char *)(pppppuVar14 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar14 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar14 + 0xac7)" * (cast_expression "(char *)(pppppuVar14 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar14 + 0xac7)" ( (binary_expression "pppppuVar14 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }" { (expression_statement "uVar39 = 0xffffffe0;" (assignment_expression "uVar39 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" else (compound_statement "{\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" { (expression_statement "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar14[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar14[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar14[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar14[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar14[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar39 = -iVar19;" (assignment_expression "uVar39 = -iVar19" identifier = (unary_expression "-iVar19" - identifier)) ;) }))) (expression_statement "unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);" (assignment_expression "unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" identifier = (cast_expression "(undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" ( (binary_expression "(int)ppppuVar17[0x14] + iVar19 + -1 & uVar39" (binary_expression "(int)ppppuVar17[0x14] + iVar19 + -1" (binary_expression "(int)ppppuVar17[0x14] + iVar19" (cast_expression "(int)ppppuVar17[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar17[0x14]" identifier [ number_literal ])) + identifier) + number_literal) & identifier) )))) ;) (expression_statement "*(undefined4 ********)(puVar36 + -4) = &local_40;" (assignment_expression "*(undefined4 ********)(puVar36 + -4) = &local_40" (pointer_expression "*(undefined4 ********)(puVar36 + -4)" * (cast_expression "(undefined4 ********)(puVar36 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;" (assignment_expression "*(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc" (pointer_expression "*(undefined4 *****)(puVar36 + -0xc)" * (cast_expression "(undefined4 *****)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (binary_expression "ppppuVar17 + 0xc" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar36 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar36 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar36 + -0x10)" * (cast_expression "(undefined1 **)(puVar36 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89359;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89359" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_40 = pppppppuVar16;" (assignment_expression "local_40 = pppppppuVar16" identifier = identifier) ;) (expression_statement "local_3c = unaff_EBX;" (assignment_expression "local_3c = unaff_EBX" identifier = identifier) ;) (expression_statement "FUN_000b03a0();" (call_expression "FUN_000b03a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) (if_statement "if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }" if (parenthesized_expression "(local_80 != '\0')" ( (binary_expression "local_80 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }" { (expression_statement "ppppuVar17[0x14] = unaff_EBX + 4;" (assignment_expression "ppppuVar17[0x14] = unaff_EBX + 4" (subscript_expression "ppppuVar17[0x14]" identifier [ number_literal ]) = (binary_expression "unaff_EBX + 4" identifier + number_literal)) ;) (expression_statement "unaff_EBX = unaff_EBX + 4;" (assignment_expression "unaff_EBX = unaff_EBX + 4" identifier = (binary_expression "unaff_EBX + 4" identifier + number_literal)) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) })) (goto_statement "goto LAB_00089370;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008c0b4;" goto statement_identifier ;) })) (labeled_statement "LAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;" statement_identifier : (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;)) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_fc;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_fc" identifier = (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }" if (parenthesized_expression "((undefined4 *******)local_fc == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_fc == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }" { (if_statement "if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }" if (parenthesized_expression "(ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2))" ( (binary_expression "ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" identifier < (cast_expression "(undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" ( (binary_expression "(int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2" (binary_expression "(int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69]" (cast_expression "(int)ppppppuVar31[0x6a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x6a]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31[0x69]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x69]" identifier [ number_literal ]))) >> number_literal) )))) )) (compound_statement "{\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }" { (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[3]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[3]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c3f9;" goto statement_identifier ;)) (expression_statement "ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];" (assignment_expression "ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11]" identifier = (subscript_expression "ppppppuVar31[0x69][(int)ppppppuVar11]" (subscript_expression "ppppppuVar31[0x69]" identifier [ number_literal ]) [ (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (if_statement "if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;" if (parenthesized_expression "((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0))" ( (binary_expression "(ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)" (parenthesized_expression "(ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2))" ( (binary_expression "ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" identifier < (cast_expression "(undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" ( (binary_expression "(int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2" (binary_expression "(int)pppppuVar26[0x14] - (int)pppppuVar26[0x13]" (cast_expression "(int)pppppuVar26[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x14]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar26[0x13]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x13]" identifier [ number_literal ]))) >> number_literal) )))) )) && (parenthesized_expression "(local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)" ( (comma_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x13][(int)ppppuVar17]" (subscript_expression "pppppuVar26[0x13]" identifier [ number_literal ]) [ (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) ]))) , (comma_expression "pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)))) ))) )) (goto_statement "goto LAB_00089eef;" goto statement_identifier ;)) })) (expression_statement "pppppppuVar10 = (undefined4 *******)local_110;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_110" identifier = (cast_expression "(undefined4 *******)local_110" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;" if (parenthesized_expression "((undefined4 *******)local_110 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_110 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_110" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0008c270;" goto statement_identifier ;)) })) (labeled_statement "LAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;" statement_identifier : (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "pppppuVar26 = ppppppuVar31[0x21];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x21]" identifier = (subscript_expression "ppppppuVar31[0x21]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;" if (parenthesized_expression "((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)" ( (binary_expression "(undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11" (cast_expression "(undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3)" ( (binary_expression "(int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)ppppppuVar31[0x22] - (int)pppppuVar26" (cast_expression "(int)ppppppuVar31[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x22]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008bf9d;" goto statement_identifier ;)) (expression_statement "local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];" (assignment_expression "local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2]" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar11 * 2]" identifier [ (binary_expression "(int)ppppppuVar11 * 2" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (expression_statement "local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];" (assignment_expression "local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1]" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar11 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar11 * 2 + 1" (binary_expression "(int)ppppppuVar11 * 2" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]))) ;) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) != number_literal) )) (compound_statement "{\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }" { (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x18]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[0x18]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xdb9ec)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdb9ec)" ( (binary_expression "local_ac + -0xdb9ec" identifier + number_literal) )))) )) (compound_statement "{\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }" { (if_statement "if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;" if (parenthesized_expression "((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11)" ( (binary_expression "(undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11" (cast_expression "(undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2)" ( (binary_expression "(int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2" (binary_expression "(int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe]" (cast_expression "(int)ppppppuVar31[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0xf]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0xe]" identifier [ number_literal ]))) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008c314;" goto statement_identifier ;)) (expression_statement "ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];" (assignment_expression "ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11]" identifier = (subscript_expression "ppppppuVar31[0xe][(int)ppppppuVar11]" (subscript_expression "ppppppuVar31[0xe]" identifier [ number_literal ]) [ (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) }) (else_clause "else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" else (compound_statement "{\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" { (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a707;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a707" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();" (assignment_expression "ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)()" identifier = (cast_expression "(undefined4 ****)(*(code *)pppppppuVar10)()" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (if_statement "if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)ppppuVar17[7] & 1) == 0)" ( (binary_expression "((uint)ppppuVar17[7] & 1) == 0" (parenthesized_expression "((uint)ppppuVar17[7] & 1)" ( (binary_expression "(uint)ppppuVar17[7] & 1" (cast_expression "(uint)ppppuVar17[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar17[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }" { (labeled_statement "LAB_0008bf5b:\n            ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf7c" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);" (assignment_expression "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" identifier = (call_expression "CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" identifier (argument_list "((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" ( (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)local_a8[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[2]" identifier [ number_literal ])) )))) ;) (expression_statement "puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);" (assignment_expression "puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2])" identifier = (cast_expression "(undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(undefined4 *******)local_cc + (int)local_a8[2])" ( (binary_expression "(int)(undefined4 *******)local_cc + (int)local_a8[2]" (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1])" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(puVar23 + (int)ppppuVar17[1])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar23 + (int)ppppuVar17[1])" ( (binary_expression "puVar23 + (int)ppppuVar17[1]" identifier + (cast_expression "(int)ppppuVar17[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar17[1]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);" (assignment_expression "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" ( (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41" (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1])" (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2]" (cast_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_cc._4_4_ + (int)local_a8[3])" ( (binary_expression "(int)local_cc._4_4_ + (int)local_a8[3]" (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) + (cast_expression "(int)local_a8[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[3]" identifier [ number_literal ]))) ))) + (cast_expression "(int)ppppuVar17[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar17[2]" identifier [ number_literal ]))) + (cast_expression "(uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puVar23,(uint)ppppuVar17[1])" identifier (argument_list "((uint)puVar23,(uint)ppppuVar17[1])" ( (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)ppppuVar17[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar17[1]" identifier [ number_literal ])) ))))) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (expression_statement "local_10c = (undefined4 ******)local_a8[6];" (assignment_expression "local_10c = (undefined4 ******)local_a8[6]" identifier = (cast_expression "(undefined4 ******)local_a8[6]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[6]" identifier [ number_literal ]))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_a8[7];" (assignment_expression "unaff_EBX = (undefined4 *******)local_a8[7]" identifier = (cast_expression "(undefined4 *******)local_a8[7]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[7]" identifier [ number_literal ]))) ;) (expression_statement "local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;" (assignment_expression "local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" identifier (argument_list "(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" ( (field_expression "local_e4._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)local_a8 + 0x13)" * (cast_expression "(undefined1 *)((int)local_a8 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_a8 + 0x13)" ( (binary_expression "(int)local_a8 + 0x13" (cast_expression "(int)local_a8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((undefined4 *******)local_b4)[0x1d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) ;) (expression_statement "uVar39 = (uint)local_a8[4] & 0x7fffffff;" (assignment_expression "uVar39 = (uint)local_a8[4] & 0x7fffffff" identifier = (binary_expression "(uint)local_a8[4] & 0x7fffffff" (cast_expression "(uint)local_a8[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[4]" identifier [ number_literal ])) & number_literal)) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x11]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x11]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "puVar38 = puVar36;" (assignment_expression "puVar38 = puVar36" identifier = identifier) ;) (expression_statement "local_108 = unaff_EBX;" (assignment_expression "local_108 = unaff_EBX" identifier = identifier) ;) (expression_statement "local_38 = local_10c;" (assignment_expression "local_38 = local_10c" identifier = identifier) ;) (expression_statement "local_34 = unaff_EBX;" (assignment_expression "local_34 = unaff_EBX" identifier = identifier) ;) (expression_statement "local_2c = (undefined4 *******)local_dc;" (assignment_expression "local_2c = (undefined4 *******)local_dc" identifier = (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }" { (expression_statement "local_f4 = (undefined4 ******)local_a8[5];" (assignment_expression "local_f4 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)*local_a8;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*local_a8" identifier = (cast_expression "(undefined4 *******)*local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_40 = (undefined4 *******)0x0;" (assignment_expression "local_40 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);" (assignment_expression "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" identifier = (cast_expression "(undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppppuVar31 & 0x3fffffff)" ( (binary_expression "(uint)ppppppuVar31 & 0x3fffffff" (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a382;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a382" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_3c = pppppppuVar10;" (assignment_expression "local_3c = pppppppuVar10" identifier = identifier) ;) (expression_statement "local_30 = local_f4;" (assignment_expression "local_30 = local_f4" identifier = identifier) ;) (expression_statement "FUN_000553c0();" (call_expression "FUN_000553c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_8c;" (assignment_expression "unaff_EBX = (undefined4 *******)local_8c" identifier = (cast_expression "(undefined4 *******)local_8c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }" if (parenthesized_expression "(local_88 != '\0')" ( (binary_expression "local_88 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8adcd;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8adcd" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_00065740();" (assignment_expression "iVar19 = FUN_00065740()" identifier = (call_expression "FUN_00065740()" identifier (argument_list "()" ( )))) ;) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + iVar19)" ( (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + identifier) )))) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c376;" goto statement_identifier ;)) (if_statement "if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" if (parenthesized_expression "(*(char *)(pppppuVar26 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xac7)" * (cast_expression "(char *)(pppppuVar26 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0xac7)" ( (binary_expression "pppppuVar26 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }" { (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar22 = 0x20;" (assignment_expression "iVar22 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" else (compound_statement "{\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" { (expression_statement "iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);" (assignment_expression "iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar26[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar26[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar26[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar26[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar26[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar20 = -iVar22;" (assignment_expression "uVar20 = -iVar22" identifier = (unary_expression "-iVar22" - identifier)) ;) }))) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" ( (binary_expression "(uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20" (call_expression "(uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1)" ( (binary_expression "(int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1" (binary_expression "(int)(undefined4 *******)local_dc + iVar19 + iVar22" (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + identifier) + identifier) + number_literal) ))) & identifier) )))) ;) (if_statement "if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }" if (parenthesized_expression "(((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0))" ( (binary_expression "((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)" (parenthesized_expression "((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0'))" ( (binary_expression "(((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')" (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0)" ( (binary_expression "((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[0xd][2] & 2)" ( (binary_expression "(uint)((undefined4 *******)local_b4)[0xd][2] & 2" (subscript_expression "(uint)((undefined4 *******)local_b4)[0xd][2]" (subscript_expression "(uint)((undefined4 *******)local_b4)[0xd]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')" ( (binary_expression "*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0'" (pointer_expression "*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" * (cast_expression "(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9d" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)" ( (binary_expression "(*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0" (parenthesized_expression "(*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0)" ( (binary_expression "*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0" (pointer_expression "*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c])" * (cast_expression "(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + (int)pppppppuVar10[0x6c])" ( (binary_expression "(int)local_f4 + (int)pppppppuVar10[0x6c]" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar10[0x6c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0x6c]" identifier [ number_literal ]))) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }" { (expression_statement "ppppppuVar31 = pppppppuVar10[0x37];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0x37]" identifier = (subscript_expression "pppppppuVar10[0x37]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }" if (parenthesized_expression "((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4)" ( (binary_expression "(undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4" (cast_expression "(undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333)" ( (binary_expression "((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333" (parenthesized_expression "((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2)" ( (binary_expression "(int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2" (binary_expression "(int)pppppppuVar10[0x38] - (int)ppppppuVar31" (cast_expression "(int)pppppppuVar10[0x38]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0x38]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c26a;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c26a" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000538b0();" (call_expression "FUN_000538b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478d6" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xd24;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xd24" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4745f" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c291;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c291" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);" (assignment_expression "bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" identifier = (pointer_expression "*(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" * (cast_expression "(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" ( (binary_expression "(int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb" (binary_expression "(int)ppppppuVar31 + (int)local_f4 * 0x14" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_f4 * 0x14" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (if_statement "if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }" if (parenthesized_expression "((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0))" ( (binary_expression "(((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)" (parenthesized_expression "(((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0))" ( (binary_expression "((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)" (parenthesized_expression "((bVar42 & 0x40) == 0)" ( (binary_expression "(bVar42 & 0x40) == 0" (parenthesized_expression "(bVar42 & 0x40)" ( (binary_expression "bVar42 & 0x40" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)" ( (binary_expression "((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0" (parenthesized_expression "((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff)" ( (binary_expression "(uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff" (cast_expression "(uint)ppppppuVar31[(int)local_f4 * 5 + 2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[(int)local_f4 * 5 + 2]" identifier [ (binary_expression "(int)local_f4 * 5 + 2" (binary_expression "(int)local_f4 * 5" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ])) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((bVar42 & 8) != 0)" ( (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }" { (expression_statement "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;" (assignment_expression "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;" (assignment_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1" (pointer_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" * (cast_expression "(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9f" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) = number_literal) ;) })) })) })) (if_statement "if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }" if (parenthesized_expression "((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f)))" ( (binary_expression "(-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))" (parenthesized_expression "(-1 < (char)local_e4)" ( (binary_expression "-1 < (char)local_e4" number_literal < (cast_expression "(char)local_e4" ( (type_descriptor "char" primitive_type) ) identifier)) )) && (parenthesized_expression "(-1 < *(char *)((int)unaff_EBX + 0x1f))" ( (binary_expression "-1 < *(char *)((int)unaff_EBX + 0x1f)" number_literal < (pointer_expression "*(char *)((int)unaff_EBX + 0x1f)" * (cast_expression "(char *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (compound_statement "{\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }" { (expression_statement "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;" (assignment_expression "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) (if_statement "if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" if (parenthesized_expression "(uVar39 - 0xb < 3)" ( (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n            local_e4 = (undefined4 *******)0x8000;\n          }" { (expression_statement "local_e4 = (undefined4 *******)0x8000;" (assignment_expression "local_e4 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" else (compound_statement "{\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" { (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;" if (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17))" ( (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar39 != 0x17)" ( (binary_expression "uVar39 != 0x17" identifier != number_literal) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "local_e4 = (undefined4 *******)0x2000000;" (assignment_expression "local_e4 = (undefined4 *******)0x2000000" identifier = (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) == number_literal) )) (goto_statement "goto LAB_0008c2e9;" goto statement_identifier ;)) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }" { (labeled_statement "LAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar38 + -4) = 0x8c197;" statement_identifier : comment (expression_statement "*(undefined4 *)(puVar38 + -4) = 0x8c197;" (assignment_expression "*(undefined4 *)(puVar38 + -4) = 0x8c197" (pointer_expression "*(undefined4 *)(puVar38 + -4)" * (cast_expression "(undefined4 *)(puVar38 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -4)" ( (binary_expression "puVar38 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n            uVar39 = 0x20;\n          }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;" if (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[7] & 1) == 0)" ( (binary_expression "((uint)((undefined4 *******)local_b4)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[7] & 1)" ( (binary_expression "(uint)((undefined4 *******)local_b4)[7] & 1" (subscript_expression "(uint)((undefined4 *******)local_b4)[7]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008a0fd;" goto statement_identifier ;)) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (binary_expression "(uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)((undefined4 *******)local_b4)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" identifier = (cast_expression "(undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (binary_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23" (cast_expression "(int)((undefined4 *******)local_b4)[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x1c]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);" (assignment_expression "local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0)" identifier = (binary_expression "(uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0)" (call_expression "(uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1))" ( (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (cast_expression "(int)((undefined4 *******)local_b4)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" identifier (argument_list "((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (subscript_expression "(uint)((undefined4 *******)local_b4)[0x1c]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" identifier (argument_list "(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) ))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);" (assignment_expression "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX)" identifier = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)unaff_EBX)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)unaff_EBX" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);" (assignment_expression "iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" identifier = (binary_expression "local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" identifier + (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" identifier (argument_list "((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" ( (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)unaff_EBX" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "local_11c = unaff_EBX;" (assignment_expression "local_11c = unaff_EBX" identifier = identifier) ;) }) (else_clause "else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" else (compound_statement "{\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" { (expression_statement "local_3c = (undefined4 *******)0x0;" (assignment_expression "local_3c = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);" (assignment_expression "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" identifier = (cast_expression "(undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppppuVar31 & 0x3fffffff)" ( (binary_expression "(uint)ppppppuVar31 & 0x3fffffff" (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a02d;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a02d" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_f4 = ppppppuVar31;" (assignment_expression "local_f4 = ppppppuVar31" identifier = identifier) ;) (expression_statement "local_40 = pppppppuVar16;" (assignment_expression "local_40 = pppppppuVar16" identifier = identifier) ;) (expression_statement "FUN_000553c0();" (call_expression "FUN_000553c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_f4 = local_8c;" (assignment_expression "local_f4 = local_8c" identifier = identifier) ;) (if_statement "if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }" if (parenthesized_expression "(local_88 != '\0')" ( (binary_expression "local_88 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a4b7;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a4b7" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_00065740();" (assignment_expression "iVar19 = FUN_00065740()" identifier = (call_expression "FUN_00065740()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppppppuVar11 = local_ac;" (assignment_expression "ppppppuVar11 = local_ac" identifier = identifier) ;) (expression_statement "pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);" (assignment_expression "pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (subscript_expression "pppppppuVar10[0x1d]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + iVar19)" ( (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + identifier) )))) ;) (expression_statement "ppppppuVar31 = pppppppuVar10[0xd];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0xd]" identifier = (subscript_expression "pppppppuVar10[0xd]" identifier [ number_literal ])) ;) (if_statement "if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }" if (parenthesized_expression "(((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2))" ( (binary_expression "((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)" (parenthesized_expression "((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                )" ( (binary_expression "(((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')" (parenthesized_expression "(((uint)ppppppuVar31[2] & 2) != 0)" ( (binary_expression "((uint)ppppppuVar31[2] & 2) != 0" (parenthesized_expression "((uint)ppppppuVar31[2] & 2)" ( (binary_expression "(uint)ppppppuVar31[2] & 2" (cast_expression "(uint)ppppppuVar31[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(char *)((int)ppppppuVar31 + 0x9d) != '\0')" ( (binary_expression "*(char *)((int)ppppppuVar31 + 0x9d) != '\0'" (pointer_expression "*(char *)((int)ppppppuVar31 + 0x9d)" * (cast_expression "(char *)((int)ppppppuVar31 + 0x9d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuVar31 + 0x9d)" ( (binary_expression "(int)ppppppuVar31 + 0x9d" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(((uint)pppppppuVar16[10] & 0xf) == 2)" ( (binary_expression "((uint)pppppppuVar16[10] & 0xf) == 2" (parenthesized_expression "((uint)pppppppuVar16[10] & 0xf)" ( (binary_expression "(uint)pppppppuVar16[10] & 0xf" (cast_expression "(uint)pppppppuVar16[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppuVar16[10]" identifier [ number_literal ])) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }" { (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }" { (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2b)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2b)" ( (binary_expression "(int)pppppppuVar16 + 0x2b" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (subscript_expression "pppppppuVar16[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf3b" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar42 = FUN_001e6ac0();" (assignment_expression "bVar42 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar42 = bVar42 ^ 1;" (assignment_expression "bVar42 = bVar42 ^ 1" identifier = (binary_expression "bVar42 ^ 1" identifier ^ number_literal)) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)ppppppuVar11;" (assignment_expression "pppppppuVar10 = (undefined4 *******)ppppppuVar11" identifier = (cast_expression "(undefined4 *******)ppppppuVar11" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" else (compound_statement "{\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" { (expression_statement "bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;" (assignment_expression "bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0" identifier = (binary_expression "pppppppuVar16[3] != (undefined4 ******)0x0" (subscript_expression "pppppppuVar16[3]" identifier [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ;) }))) }) (else_clause "else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" else (compound_statement "{\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" { (expression_statement "bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;" (assignment_expression "bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" identifier = (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal)) ;) }))) (if_statement "if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" if (parenthesized_expression "(((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0))" ( (binary_expression "((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)" (parenthesized_expression "((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0))" ( (binary_expression "(bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)" (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x29)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x29)" ( (binary_expression "(int)pppppppuVar16 + 0x29" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((uint)pppppppuVar16[0xb] & 0x10) != 0)" ( (binary_expression "((uint)pppppppuVar16[0xb] & 0x10) != 0" (parenthesized_expression "((uint)pppppppuVar16[0xb] & 0x10)" ( (binary_expression "(uint)pppppppuVar16[0xb] & 0x10" (cast_expression "(uint)pppppppuVar16[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppuVar16[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" else (compound_statement "{\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" { (expression_statement "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;" (assignment_expression "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_f4 + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;" (assignment_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1" (pointer_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" * (cast_expression "(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9f" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }))) })) (if_statement "if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" if (parenthesized_expression "(((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16))))" ( (binary_expression "((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))" (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuVar31[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2d]" identifier [ number_literal ])) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "(((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))" ( (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16))" ( (binary_expression "(undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)" (binary_expression "(undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16" (cast_expression "(undefined4 *******)ppppppuVar31[0x2c]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2c]" identifier [ number_literal ])) != identifier) && (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)" ( (binary_expression "(undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16" (cast_expression "(undefined4 *******)ppppppuVar31[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2d]" identifier [ number_literal ])) != identifier) ))) )) ))) )) (compound_statement "{\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" else (compound_statement "{\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" { (expression_statement "*(undefined1 *)(ppppppuVar31 + 0x28) = 1;" (assignment_expression "*(undefined1 *)(ppppppuVar31 + 0x28) = 1" (pointer_expression "*(undefined1 *)(ppppppuVar31 + 0x28)" * (cast_expression "(undefined1 *)(ppppppuVar31 + 0x28)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 0x28)" ( (binary_expression "ppppppuVar31 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;" (assignment_expression "((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5" (subscript_expression "((undefined4 *******)local_b4)[0x25]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (binary_expression "ppppppuVar31 + -5" identifier + number_literal)) ;) }))) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }" { (labeled_statement "LAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;" statement_identifier : comment (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c37b;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c37b" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" if (parenthesized_expression "(*(char *)(pppppuVar26 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xac7)" * (cast_expression "(char *)(pppppuVar26 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0xac7)" ( (binary_expression "pppppuVar26 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }" { (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" else (compound_statement "{\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" { (expression_statement "iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar26[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar26[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar26[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar26[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar26[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar20 = -iVar19;" (assignment_expression "uVar20 = -iVar19" identifier = (unary_expression "-iVar19" - identifier)) ;) }))) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" ( (binary_expression "(uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20" (call_expression "(uint)((int)ppppppuVar31 + iVar19 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppuVar31 + iVar19 + -1)" ( (binary_expression "(int)ppppppuVar31 + iVar19 + -1" (binary_expression "(int)ppppppuVar31 + iVar19" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) & identifier) )))) ;) (expression_statement "unaff_EBX = pppppppuVar10;" (assignment_expression "unaff_EBX = pppppppuVar10" identifier = identifier) ;) })) (if_statement "if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }" if (parenthesized_expression "((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f)))" ( (binary_expression "(-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))" (parenthesized_expression "(-1 < (char)local_e4)" ( (binary_expression "-1 < (char)local_e4" number_literal < (cast_expression "(char)local_e4" ( (type_descriptor "char" primitive_type) ) identifier)) )) && (parenthesized_expression "(-1 < *(char *)((int)local_f4 + 0x1f))" ( (binary_expression "-1 < *(char *)((int)local_f4 + 0x1f)" number_literal < (pointer_expression "*(char *)((int)local_f4 + 0x1f)" * (cast_expression "(char *)((int)local_f4 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (compound_statement "{\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }" { (expression_statement "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;" (assignment_expression "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_f4 + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) (if_statement "if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" if (parenthesized_expression "(uVar39 - 0xb < 3)" ( (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n            local_e4 = (undefined4 *******)0x8000;\n          }" { (expression_statement "local_e4 = (undefined4 *******)0x8000;" (assignment_expression "local_e4 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" else (compound_statement "{\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" { (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;" if (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17))" ( (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar39 != 0x17)" ( (binary_expression "uVar39 != 0x17" identifier != number_literal) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "local_e4 = (undefined4 *******)0x2000000;" (assignment_expression "local_e4 = (undefined4 *******)0x2000000" identifier = (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) == number_literal) )) (goto_statement "goto LAB_0008c2e9;" goto statement_identifier ;)) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c192;" goto statement_identifier ;)) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n            uVar39 = 0x20;\n          }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }" if (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[7] & 1) == 0)" ( (binary_expression "((uint)((undefined4 *******)local_b4)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[7] & 1)" ( (binary_expression "(uint)((undefined4 *******)local_b4)[7] & 1" (subscript_expression "(uint)((undefined4 *******)local_b4)[7]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }" { (labeled_statement "LAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;" statement_identifier : (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "local_e0 = (undefined4 ****)0x0;" (assignment_expression "local_e0 = (undefined4 ****)0x0" identifier = (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) comment (expression_statement "*(undefined **)(puVar36 + -4) = &UNK_0008a102;" (assignment_expression "*(undefined **)(puVar36 + -4) = &UNK_0008a102" (pointer_expression "*(undefined **)(puVar36 + -4)" * (cast_expression "(undefined **)(puVar36 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_0008a102" & identifier)) ;) (expression_statement "FUN_00052f10();" (call_expression "FUN_00052f10()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (binary_expression "(uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)((undefined4 *******)local_b4)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));" (assignment_expression "unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" identifier = (cast_expression "(undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" ( (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1)" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (cast_expression "(int)((undefined4 *******)local_b4)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" identifier (argument_list "(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) )))) ;) (expression_statement "local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" identifier = (cast_expression "(undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (binary_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23" (cast_expression "(int)((undefined4 *******)local_b4)[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x1c]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);" (assignment_expression "local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0)" identifier = (binary_expression "(int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0)" (binary_expression "(int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" identifier (argument_list "((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (subscript_expression "(uint)((undefined4 *******)local_b4)[0x1c]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);" (assignment_expression "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104)" identifier = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)local_104)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)local_104" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_104" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);" (assignment_expression "iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" identifier = (binary_expression "local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" identifier + (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" identifier (argument_list "((uint)(undefined4 *******)local_dc,(uint)local_104)" ( (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) }))) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;" if (parenthesized_expression "(((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2)))" ( (binary_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" (binary_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" (parenthesized_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))" ( (binary_expression "(iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc)" (parenthesized_expression "(iVar19 - (int)local_cc._4_4_)" ( (binary_expression "iVar19 - (int)local_cc._4_4_" identifier - (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)(pppppppuVar10 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppppuVar10 < (undefined4 *******)local_cc)" ( (binary_expression "pppppppuVar10 < (undefined4 *******)local_cc" identifier < (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) )) + (cast_expression "(uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" identifier (argument_list "((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" ( (binary_expression "(int)pppppppuVar10 - (int)(undefined4 *******)local_cc" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) < (call_expression "(uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" ( (binary_expression "(uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2)" (call_expression "(uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))" ( (binary_expression "(int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pppppppuVar10 - (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)pppppppuVar10 - (int)(undefined4 *******)local_cc" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) ))) < (call_expression "(uint)((int)local_e4 * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_e4 * 2)" ( (binary_expression "(int)local_e4 * 2" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) )))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_c4;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_c4" identifier = (cast_expression "(undefined4 ******)*local_c4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_c4" * identifier))) ;) (labeled_statement "LAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;" statement_identifier : (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" identifier = identifier) ;) (if_statement "if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }" if (parenthesized_expression "(((uint)ppppppuVar31[5] & 0x40) != 0)" ( (binary_expression "((uint)ppppppuVar31[5] & 0x40) != 0" (parenthesized_expression "((uint)ppppppuVar31[5] & 0x40)" ( (binary_expression "(uint)ppppppuVar31[5] & 0x40" (cast_expression "(uint)ppppppuVar31[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }" { (expression_statement "pppppuVar26 = *ppppppuVar31;" (assignment_expression "pppppuVar26 = *ppppppuVar31" identifier = (pointer_expression "*ppppppuVar31" * identifier)) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xb]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xb]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar14 = *ppppppuVar31;" (assignment_expression "pppppuVar14 = *ppppppuVar31" identifier = (pointer_expression "*ppppppuVar31" * identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[0xc]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppuVar17 = pppppuVar14[0x10];" (assignment_expression "ppppuVar17 = pppppuVar14[0x10]" identifier = (subscript_expression "pppppuVar14[0x10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a1ff" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)ppppuVar17)();" (call_expression "(*(code *)ppppuVar17)()" (parenthesized_expression "(*(code *)ppppuVar17)" ( (pointer_expression "*(code *)ppppuVar17" * (cast_expression "(code *)ppppuVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = local_40;" (assignment_expression "ppppppuVar11 = local_40" identifier = identifier) ;) (expression_statement "pppppuVar14 = pppppppuVar10[0xb][1];" (assignment_expression "pppppuVar14 = pppppppuVar10[0xb][1]" identifier = (subscript_expression "pppppppuVar10[0xb][1]" (subscript_expression "pppppppuVar10[0xb]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[2]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_bc = (undefined4 ******)local_a8[1];" (assignment_expression "local_bc = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x10]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[0x10]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xd8af4)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xd8af4)" ( (binary_expression "local_ac + -0xd8af4" identifier + number_literal) )))) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + 0x24" identifier + number_literal)) ;) (expression_statement "*(undefined8 **)(puVar35 + -0x14) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar35 + -0x14) = &local_5c" (pointer_expression "*(undefined8 **)(puVar35 + -0x14)" * (cast_expression "(undefined8 **)(puVar35 + -0x14)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_5c" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0x8a258;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0x8a258" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b1290();" (call_expression "FUN_000b1290()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" else (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(puVar35 + -0x14) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar35 + -0x14) = &local_5c" (pointer_expression "*(undefined8 **)(puVar35 + -0x14)" * (cast_expression "(undefined8 **)(puVar35 + -0x14)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_5c" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0x8af32;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0x8af32" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x14) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar35 + -0x14)" * (cast_expression "(undefined4 ******)(puVar35 + -0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x20)" * (cast_expression "(undefined4 ******)(puVar35 + -0x20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228" (pointer_expression "*(undefined4 *******)(puVar35 + -0x24)" * (cast_expression "(undefined4 *******)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47228" identifier + number_literal)) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x28) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x28)" * (cast_expression "(undefined4 ******)(puVar35 + -0x28)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x2c) = 0x8a289;" (assignment_expression "*(undefined4 *)(puVar35 + -0x2c) = 0x8a289" (pointer_expression "*(undefined4 *)(puVar35 + -0x2c)" * (cast_expression "(undefined4 *)(puVar35 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000d1270();" (call_expression "FUN_000d1270()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }" if (parenthesized_expression "((undefined4 *******)local_5c != &local_54)" ( (binary_expression "(undefined4 *******)local_5c != &local_54" (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (pointer_expression "&local_54" & identifier)) )) (compound_statement "{\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }" { (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x8a29f" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "puVar36 = puVar35 + -8;" (assignment_expression "puVar36 = puVar35 + -8" identifier = (binary_expression "puVar35 + -8" identifier + number_literal)) ;) (if_statement "if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }" if (parenthesized_expression "((undefined4 *******)local_40 != &local_38)" ( (binary_expression "(undefined4 *******)local_40 != &local_38" (cast_expression "(undefined4 *******)local_40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (pointer_expression "&local_38" & identifier)) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x18) = local_40;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x18) = local_40" (pointer_expression "*(undefined4 *******)(puVar35 + -0x18)" * (cast_expression "(undefined4 *******)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" identifier = (cast_expression "(undefined4 *******)ppppppuVar31" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "puVar36 = puVar35 + -8;" (assignment_expression "puVar36 = puVar35 + -8" identifier = (binary_expression "puVar35 + -8" identifier + number_literal)) ;) })) })) (labeled_statement "LAB_0008a2be:\n        puVar35 = puVar36;" statement_identifier : (expression_statement "puVar35 = puVar36;" (assignment_expression "puVar35 = puVar36" identifier = identifier) ;)) (if_statement "if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }" if (parenthesized_expression "(*(char *)(param_1 + 0xa1) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xa1) == '\0'" (pointer_expression "*(char *)(param_1 + 0xa1)" * (cast_expression "(char *)(param_1 + 0xa1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }" { (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" * (cast_expression "(undefined1 *)(param_1 + 0xa1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);" (assignment_expression "local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 ********)(param_1 + 0xa4)" * (cast_expression "(undefined4 ********)(param_1 + 0xa4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;" (assignment_expression "*(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1" (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) )))) = (binary_expression "(int)(undefined4 *******)local_b4 + 1" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + number_literal)) ;) (if_statement "if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }" if (parenthesized_expression "((int)(undefined4 *******)local_b4 + 1 < 3)" ( (binary_expression "(int)(undefined4 *******)local_b4 + 1 < 3" (binary_expression "(int)(undefined4 *******)local_b4 + 1" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + number_literal) < number_literal) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) })) }))) (labeled_statement "LAB_00089370:\n      local_a8 = local_a8 + 8;" statement_identifier : (expression_statement "local_a8 = local_a8 + 8;" (assignment_expression "local_a8 = local_a8 + 8" identifier = (binary_expression "local_a8 + 8" identifier + number_literal)) ;)) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" identifier = identifier) ;) }) while (parenthesized_expression "(*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8)" ( (binary_expression "*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8" (pointer_expression "*(undefined4 ********)(param_1 + 0x78)" * (cast_expression "(undefined4 ********)(param_1 + 0x78)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) != (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) ;) })) (expression_statement "local_f4 = *(undefined4 *******)(param_1 + 100);" (assignment_expression "local_f4 = *(undefined4 *******)(param_1 + 100)" identifier = (pointer_expression "*(undefined4 *******)(param_1 + 100)" * (cast_expression "(undefined4 *******)(param_1 + 100)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) ;) (expression_statement "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);" (assignment_expression "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_fc._1_3_,local_f4 != local_120)" identifier (argument_list "(local_fc._1_3_,local_f4 != local_120)" ( (field_expression "local_fc._1_3_" identifier . field_identifier) , (binary_expression "local_f4 != local_120" identifier != identifier) ))))) ;) (if_statement "if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }" if (parenthesized_expression "((undefined4 *******)local_f4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_f4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_f4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }" { (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8b9ca;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8b9ca" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0005c350();" (call_expression "FUN_0005c350()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }" if (parenthesized_expression "(local_f4 != local_120)" ( (binary_expression "local_f4 != local_120" identifier != identifier) )) (compound_statement "{\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }" { (expression_statement "unaff_EBX = *(undefined4 ********)(param_1 + 0x24);" (assignment_expression "unaff_EBX = *(undefined4 ********)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x24)" * (cast_expression "(undefined4 ********)(param_1 + 0x24)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "bVar42 = *(byte *)(unaff_EBX + 7);" (assignment_expression "bVar42 = *(byte *)(unaff_EBX + 7)" identifier = (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (expression_statement "puVar37 = puVar35;" (assignment_expression "puVar37 = puVar35" identifier = identifier) ;) (if_statement "if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }" if (parenthesized_expression "((bVar42 & 8) != 0)" ( (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }" { (if_statement "if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }" if (parenthesized_expression "((bVar42 & 2) == 0)" ( (binary_expression "(bVar42 & 2) == 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }" { (expression_statement "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);" (assignment_expression "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4)" (subscript_expression "unaff_EBX[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_f4 << 4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_f4 << 4)" ( (binary_expression "(int)local_f4 << 4" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "unaff_EBX[4] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[4] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47840" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x218;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x218" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c35a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c35a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0008b9d8;" goto statement_identifier ;) })) (expression_statement "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);" (assignment_expression "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4)" (subscript_expression "unaff_EBX[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_f4 << 4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_f4 << 4)" ( (binary_expression "(int)local_f4 << 4" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "unaff_EBX[4] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[4] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa | 2" (binary_expression "bVar42 & 0xfa" identifier & number_literal) | number_literal)) ;) (expression_statement "*(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;" (assignment_expression "*(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[8] + 0x92)" ( (binary_expression "(int)unaff_EBX[8] + 0x92" (cast_expression "(int)unaff_EBX[8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[8]" identifier [ number_literal ])) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX[8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[8] + 0x92)" ( (binary_expression "(int)unaff_EBX[8] + 0x92" (cast_expression "(int)unaff_EBX[8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[8]" identifier [ number_literal ])) + number_literal) )))) | number_literal)) ;) (expression_statement "ppppppuVar31 = unaff_EBX[0xb];" (assignment_expression "ppppppuVar31 = unaff_EBX[0xb]" identifier = (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ])) ;) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }" if (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }" { (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "bVar42 = *(byte *)(ppppppuVar31 + 7);" (assignment_expression "bVar42 = *(byte *)(ppppppuVar31 + 7)" identifier = (pointer_expression "*(byte *)(ppppppuVar31 + 7)" * (cast_expression "(byte *)(ppppppuVar31 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 7)" ( (binary_expression "ppppppuVar31 + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(ppppppuVar31 + 7)" * (cast_expression "(byte *)(ppppppuVar31 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 7)" ( (binary_expression "ppppppuVar31 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (expression_statement "local_a8 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "local_a8 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];" (assignment_expression "pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf]" identifier = (cast_expression "(undefined4 *******)((undefined4 *******)local_a8)[0xf]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "((undefined4 *******)local_a8)[0xf]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)local_f4 * 0x18)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_f4 * 0x18)" ( (binary_expression "(int)local_f4 * 0x18" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" if (parenthesized_expression "((bVar42 & 8) == 0)" ( (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }" { (expression_statement "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(ppppppuVar31 + 7)" * (cast_expression "(byte *)(ppppppuVar31 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 7)" ( (binary_expression "ppppppuVar31 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xf8" identifier & number_literal)) ;) (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20))" ( (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)" identifier != (cast_expression "(undefined4 *******)(local_ac + -0xdbf20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf20)" ( (binary_expression "local_ac + -0xdbf20" identifier + number_literal) )))) )) (goto_statement "goto LAB_0008bb14;" goto statement_identifier ;)) }) (else_clause "else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" else (compound_statement "{\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" { (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20))" ( (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)" identifier != (cast_expression "(undefined4 *******)(local_ac + -0xdbf20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf20)" ( (binary_expression "local_ac + -0xdbf20" identifier + number_literal) )))) )) (compound_statement "{\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }" { (labeled_statement "LAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8bb1a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar31 = unaff_EBX[0xb];" (assignment_expression "ppppppuVar31 = unaff_EBX[0xb]" identifier = (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ])) ;) })) (if_statement "if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }" if (parenthesized_expression "(((uint)ppppppuVar31[7] & 2) != 0)" ( (binary_expression "((uint)ppppppuVar31[7] & 2) != 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 2)" ( (binary_expression "(uint)ppppppuVar31[7] & 2" (cast_expression "(uint)ppppppuVar31[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_0008b9d8:\n          ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868" (pointer_expression "*(undefined4 *******)(puVar37 + -8)" * (cast_expression "(undefined4 *******)(puVar37 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar37 + -8)" ( (binary_expression "puVar37 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47868" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar37 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar37 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar37 + -0xc)" * (cast_expression "(undefined4 *)(puVar37 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + -0xc)" ( (binary_expression "puVar37 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar37 + -0x10)" * (cast_expression "(undefined4 *******)(puVar37 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar37 + -0x10)" ( (binary_expression "puVar37 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;" (assignment_expression "*(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9" (pointer_expression "*(undefined **)(puVar37 + -0x14)" * (cast_expression "(undefined **)(puVar37 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar37 + -0x14)" ( (binary_expression "puVar37 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b9f9" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a8 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "local_a8 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ;) }))) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "ppppppuVar31[3] = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31[3] = (undefined4 *******)local_b4" (subscript_expression "ppppppuVar31[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuVar31[4] = local_b4._4_4_;" (assignment_expression "ppppppuVar31[4] = local_b4._4_4_" (subscript_expression "ppppppuVar31[4]" identifier [ number_literal ]) = (field_expression "local_b4._4_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];" (assignment_expression "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe]" identifier = (cast_expression "(undefined4 ******)ppppppuVar11[0xe]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[0xe]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x89480;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x89480" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)ppppppuVar11)();" (call_expression "(*(code *)ppppppuVar11)()" (parenthesized_expression "(*(code *)ppppppuVar11)" ( (pointer_expression "*(code *)ppppppuVar11" * (cast_expression "(code *)ppppppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }" if (parenthesized_expression "(((uint)ppppppuVar31[7] & 2) == 0)" ( (binary_expression "((uint)ppppppuVar31[7] & 2) == 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 2)" ( (binary_expression "(uint)ppppppuVar31[7] & 2" (cast_expression "(uint)ppppppuVar31[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }" { (labeled_statement "LAB_0008c197:\n        ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478e2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c1b8" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;" (assignment_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[0xb][8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[0xb][8] + 0x92)" ( (binary_expression "(int)unaff_EBX[0xb][8] + 0x92" (cast_expression "(int)unaff_EBX[0xb][8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0xb][8]" (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ]) [ number_literal ])) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[0xb][8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[0xb][8] + 0x92)" ( (binary_expression "(int)unaff_EBX[0xb][8] + 0x92" (cast_expression "(int)unaff_EBX[0xb][8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0xb][8]" (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ]) [ number_literal ])) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "piVar13 = *(int **)(param_1 + 0x50);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x50)" identifier = (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);" (assignment_expression "pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9)" identifier = (cast_expression "(undefined4 *******)(local_ac + -0x474c9)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0x474c9)" ( (binary_expression "local_ac + -0x474c9" identifier + number_literal) )))) ;) (if_statement "if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }" if (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x4c))" ( (binary_expression "piVar13 != *(int **)(param_1 + 0x4c)" identifier != (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }" { (do_statement "do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );" do (compound_statement "{\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    }" { (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)piVar13[-1];" (assignment_expression "pppppppuVar10 = (undefined4 *******)piVar13[-1]" identifier = (cast_expression "(undefined4 *******)piVar13[-1]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "piVar13[-1]" identifier [ number_literal ]))) ;) (expression_statement "local_a8 = pppppppuVar10;" (assignment_expression "local_a8 = pppppppuVar10" identifier = identifier) ;) (if_statement "if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" if (parenthesized_expression "(pppppppuVar10[0x26] == (undefined4 ******)0x0)" ( (binary_expression "pppppppuVar10[0x26] == (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0x26]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" { (if_statement "if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;" if (parenthesized_expression "(*(int **)(param_1 + 0x4c) == piVar13 + -1)" ( (binary_expression "*(int **)(param_1 + 0x4c) == piVar13 + -1" (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) == (binary_expression "piVar13 + -1" identifier + number_literal)) )) (goto_statement "goto LAB_00089528;" goto statement_identifier ;)) }) (else_clause "else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" else (compound_statement "{\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" { (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26]" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (subscript_expression "pppppppuVar10[0x26]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "pppppppuVar10 + 0x27" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0xc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0xc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = param_5" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8950d;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8950d" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00107c70();" (call_expression "FUN_00107c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_a8[0x26] = (undefined4 ******)0x0;" (assignment_expression "local_a8[0x26] = (undefined4 ******)0x0" (subscript_expression "local_a8[0x26]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" identifier = (cast_expression "(undefined4 *******)ppppppuVar31" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;" if (parenthesized_expression "(*(int **)(param_1 + 0x4c) == piVar13 + -1)" ( (binary_expression "*(int **)(param_1 + 0x4c) == piVar13 + -1" (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) == (binary_expression "piVar13 + -1" identifier + number_literal)) )) (goto_statement "goto LAB_00089528;" goto statement_identifier ;)) }))) (expression_statement "piVar13 = piVar13 + -1;" (assignment_expression "piVar13 = piVar13 + -1" identifier = (binary_expression "piVar13 + -1" identifier + number_literal)) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_0008a784;" goto statement_identifier ;) (labeled_statement "LAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);" statement_identifier : (do_statement "do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);" do (compound_statement "{\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  }" { (expression_statement "unaff_EBX = (undefined4 *******)*piVar40;" (assignment_expression "unaff_EBX = (undefined4 *******)*piVar40" identifier = (cast_expression "(undefined4 *******)*piVar40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*piVar40" * identifier))) ;) (expression_statement "ppppppuVar31 = unaff_EBX[8];" (assignment_expression "ppppppuVar31 = unaff_EBX[8]" identifier = (subscript_expression "unaff_EBX[8]" identifier [ number_literal ])) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[3]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[3]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)local_bc)" ( (binary_expression "pppppppuVar10 == (undefined4 *******)local_bc" identifier == (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) (compound_statement "{\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }" { (expression_statement "uVar43 = *(undefined8 *)(ppppppuVar31 + 9);" (assignment_expression "uVar43 = *(undefined8 *)(ppppppuVar31 + 9)" identifier = (pointer_expression "*(undefined8 *)(ppppppuVar31 + 9)" * (cast_expression "(undefined8 *)(ppppppuVar31 + 9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 9)" ( (binary_expression "ppppppuVar31 + 9" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" else (compound_statement "{\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a776;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a776" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar43 = (*(code *)pppppppuVar10)();" (assignment_expression "uVar43 = (*(code *)pppppppuVar10)()" identifier = (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar39 = (uint)((ulonglong)uVar43 >> 0x20);" (assignment_expression "uVar39 = (uint)((ulonglong)uVar43 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar43 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar43 >> 0x20)" ( (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_a8 = (undefined4 ******)uVar43;" (assignment_expression "local_a8 = (undefined4 ******)uVar43" identifier = (cast_expression "(undefined4 ******)uVar43" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }" { comment comment (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c30f;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c30f" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));" (assignment_expression "pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" identifier = (cast_expression "(undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" ( (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) ))) )))) ;) (if_statement "if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" if (parenthesized_expression "(pppppppuVar10 < (undefined4 *******)0x20)" ( (binary_expression "pppppppuVar10 < (undefined4 *******)0x20" identifier < (cast_expression "(undefined4 *******)0x20" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }" { (if_statement "if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }" if (parenthesized_expression "(uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39)" ( (binary_expression "uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39" (binary_expression "uVar39 == 0" identifier == number_literal) && (binary_expression "(uint)((undefined4 *******)0x1f < local_a8) <= -uVar39" (call_expression "(uint)((undefined4 *******)0x1f < local_a8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)0x1f < local_a8)" ( (binary_expression "(undefined4 *******)0x1f < local_a8" (cast_expression "(undefined4 *******)0x1f" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) < identifier) ))) <= (unary_expression "-uVar39" - identifier))) )) (compound_statement "{\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }" { (expression_statement "ppppppuVar31[9] = (undefined4 *****)0x20;" (assignment_expression "ppppppuVar31[9] = (undefined4 *****)0x20" (subscript_expression "ppppppuVar31[9]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x20" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppuVar31[10] = (undefined4 *****)0x0;" (assignment_expression "ppppppuVar31[10] = (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[10]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)0x20;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)0x20" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x20" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (labeled_statement "LAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;" statement_identifier : (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "pppppuVar26 = ppppppuVar31[0x2b];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x2b]" identifier = (subscript_expression "ppppppuVar31[0x2b]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }" if (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }" { (expression_statement "pppppuVar26[1] = (undefined4 *******)local_b4;" (assignment_expression "pppppuVar26[1] = (undefined4 *******)local_b4" (subscript_expression "pppppuVar26[1]" identifier [ number_literal ]) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "pppppuVar26[2] = (undefined4 ****)0x0;" (assignment_expression "pppppuVar26[2] = (undefined4 ****)0x0" (subscript_expression "pppppuVar26[2]" identifier [ number_literal ]) = (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) })) }) (else_clause "else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" else (compound_statement "{\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" { (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }" if (parenthesized_expression "(uVar39 < (local_a8 < pppppppuVar10))" ( (binary_expression "uVar39 < (local_a8 < pppppppuVar10)" identifier < (parenthesized_expression "(local_a8 < pppppppuVar10)" ( (binary_expression "local_a8 < pppppppuVar10" identifier < identifier) ))) )) (compound_statement "{\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }" { (expression_statement "ppppppuVar31[9] = pppppppuVar10;" (assignment_expression "ppppppuVar31[9] = pppppppuVar10" (subscript_expression "ppppppuVar31[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[10] = (undefined4 *****)0x0;" (assignment_expression "ppppppuVar31[10] = (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[10]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (goto_statement "goto LAB_000897c9;" goto statement_identifier ;) })) }))) (if_statement "if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }" if (parenthesized_expression "((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20]))" ( (binary_expression "(unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])" (parenthesized_expression "(unaff_EBX[0x1e] != unaff_EBX[0x1d])" ( (binary_expression "unaff_EBX[0x1e] != unaff_EBX[0x1d]" (subscript_expression "unaff_EBX[0x1e]" identifier [ number_literal ]) != (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ])) )) || (parenthesized_expression "(unaff_EBX[0x1f] != unaff_EBX[0x20])" ( (binary_expression "unaff_EBX[0x1f] != unaff_EBX[0x20]" (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ]) != (subscript_expression "unaff_EBX[0x20]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }" { (expression_statement "unaff_EBX[0x20] = unaff_EBX[0x1f];" (assignment_expression "unaff_EBX[0x20] = unaff_EBX[0x1f]" (subscript_expression "unaff_EBX[0x20]" identifier [ number_literal ]) = (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ])) ;) (expression_statement "unaff_EBX[0x1e] = unaff_EBX[0x1d];" (assignment_expression "unaff_EBX[0x1e] = unaff_EBX[0x1d]" (subscript_expression "unaff_EBX[0x1e]" identifier [ number_literal ]) = (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ])) ;) (expression_statement "local_40 = *(undefined4 *******)(*piVar40 + 0x20);" (assignment_expression "local_40 = *(undefined4 *******)(*piVar40 + 0x20)" identifier = (pointer_expression "*(undefined4 *******)(*piVar40 + 0x20)" * (cast_expression "(undefined4 *******)(*piVar40 + 0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*piVar40 + 0x20)" ( (binary_expression "*piVar40 + 0x20" (pointer_expression "*piVar40" * identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 ***)(puVar35 + -0x14) = local_68;" (assignment_expression "*(undefined8 ***)(puVar35 + -0x14) = local_68" (pointer_expression "*(undefined8 ***)(puVar35 + -0x14)" * (cast_expression "(undefined8 ***)(puVar35 + -0x14)" ( (type_descriptor "undefined8 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = &local_40;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = &local_40" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x1c) = local_10c;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x1c) = local_10c" (pointer_expression "*(undefined4 *******)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar35 + -0x20) = local_a4;" (assignment_expression "*(undefined1 **)(puVar35 + -0x20) = local_a4" (pointer_expression "*(undefined1 **)(puVar35 + -0x20)" * (cast_expression "(undefined1 **)(puVar35 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_68[0] = (undefined8 *)local_10c;" (assignment_expression "local_68[0] = (undefined8 *)local_10c" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined8 *)local_10c" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8972b;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8972b" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000abee0();" (call_expression "FUN_000abee0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);" (assignment_expression "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_fc._1_3_,1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_fc._1_3_,1)" identifier (argument_list "(local_fc._1_3_,1)" ( (field_expression "local_fc._1_3_" identifier . field_identifier) , number_literal ))))) ;) (expression_statement "puVar35 = puVar35 + -4;" (assignment_expression "puVar35 = puVar35 + -4" identifier = (binary_expression "puVar35 + -4" identifier + number_literal)) ;) })) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(param_1 + 0x50) != piVar40)" ( (binary_expression "*(int **)(param_1 + 0x50) != piVar40" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) ;)) (expression_statement "local_e4 = local_54;" (assignment_expression "local_e4 = local_54" identifier = identifier) ;) (if_statement "if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;" if (parenthesized_expression "((undefined4 *******)local_54 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_54 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_54" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0008a7bd;" goto statement_identifier ;)) (do_statement "do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);" do (compound_statement "{\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  }" { (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_bc = (undefined4 ******)local_e4[1];" (assignment_expression "local_bc = (undefined4 ******)local_e4[1]" identifier = (cast_expression "(undefined4 ******)local_e4[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_e4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_a8 = ((undefined4 *******)local_bc)[0x1b];" (assignment_expression "local_a8 = ((undefined4 *******)local_bc)[0x1b]" identifier = (subscript_expression "((undefined4 *******)local_bc)[0x1b]" (parenthesized_expression "((undefined4 *******)local_bc)" ( (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "lVar44 = 0;" (assignment_expression "lVar44 = 0" identifier = number_literal) ;) (if_statement "if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }" if (parenthesized_expression "(local_a8 != ((undefined4 *******)local_bc)[0x1c])" ( (binary_expression "local_a8 != ((undefined4 *******)local_bc)[0x1c]" identifier != (subscript_expression "((undefined4 *******)local_bc)[0x1c]" (parenthesized_expression "((undefined4 *******)local_bc)" ( (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) )) (compound_statement "{\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }" { (do_statement "do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);" do (compound_statement "{\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (if_statement "if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" if (parenthesized_expression "((undefined4 ******)local_a8[1] == (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_a8[1] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ])) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }" { (if_statement "if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }" if (parenthesized_expression "((undefined4 ******)0xfffffffb < ppppppuVar31)" ( (binary_expression "(undefined4 ******)0xfffffffb < ppppppuVar31" (cast_expression "(undefined4 ******)0xfffffffb" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) < identifier) )) (compound_statement "{\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }" { (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[4];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[4]" identifier = (cast_expression "(undefined4 ******)local_a8[4]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar11)[3]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar11)[3]" (parenthesized_expression "(*ppppppuVar11)" ( (pointer_expression "*ppppppuVar11" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xdbf0c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf0c)" ( (binary_expression "local_ac + -0xdbf0c" identifier + number_literal) )))) )) (compound_statement "{\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }" { (expression_statement "lVar45 = *(longlong *)(ppppppuVar11 + 9);" (assignment_expression "lVar45 = *(longlong *)(ppppppuVar11 + 9)" identifier = (pointer_expression "*(longlong *)(ppppppuVar11 + 9)" * (cast_expression "(longlong *)(ppppppuVar11 + 9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar11 + 9)" ( (binary_expression "ppppppuVar11 + 9" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" else (compound_statement "{\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ad8e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar45 = (*(code *)pppppppuVar10)();" (assignment_expression "lVar45 = (*(code *)pppppppuVar10)()" identifier = (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) }))) (goto_statement "goto LAB_0008aa09;" goto statement_identifier ;) })) (labeled_statement "LAB_0008aab8:\n          ppppppuVar31 = local_a8;" statement_identifier : (expression_statement "ppppppuVar31 = local_a8;" (assignment_expression "ppppppuVar31 = local_a8" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aacd;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aacd" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (expression_statement "piVar13 = (int *)FUN_0015c600();" (assignment_expression "piVar13 = (int *)FUN_0015c600()" identifier = (cast_expression "(int *)FUN_0015c600()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015c600()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aadd;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aadd" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_0015c690();" (assignment_expression "uVar9 = FUN_0015c690()" identifier = (call_expression "FUN_0015c690()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "*(longlong *)(puVar35 + -8) = local_b4;" (assignment_expression "*(longlong *)(puVar35 + -8) = local_b4" (pointer_expression "*(longlong *)(puVar35 + -8)" * (cast_expression "(longlong *)(puVar35 + -8)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar35 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar35 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar35 + -0x10)" * (cast_expression "(int **)(puVar35 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar3 = *(code **)(iVar19 + 0xdc);" (assignment_expression "pcVar3 = *(code **)(iVar19 + 0xdc)" identifier = (pointer_expression "*(code **)(iVar19 + 0xdc)" * (cast_expression "(code **)(iVar19 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0xdc)" ( (binary_expression "iVar19 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aaf6" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;" if (parenthesized_expression "((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc)" ( (binary_expression "(undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc" (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier)) != (cast_expression "(undefined4 ******)0xfffffffc" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0008aa48;" goto statement_identifier ;)) (expression_statement "local_cc._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_cc._4_4_ = (undefined4 *****)0x0" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31[4];" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31[4]" identifier = (cast_expression "(undefined4 *******)ppppppuVar31[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[4]" identifier [ number_literal ]))) ;) (expression_statement "local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);" (assignment_expression "local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c])" identifier = (binary_expression "local_b4 + ZEXT48(unaff_EBX[0x1c])" identifier + (call_expression "ZEXT48(unaff_EBX[0x1c])" identifier (argument_list "(unaff_EBX[0x1c])" ( (subscript_expression "unaff_EBX[0x1c]" identifier [ number_literal ]) ))))) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" ( (binary_expression "(int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]" (cast_expression "(int)unaff_EBX[0x1f]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ])) + (cast_expression "(int)unaff_EBX[0x1d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ]))) )))) ;) (if_statement "if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }" if (parenthesized_expression "(*(char *)(unaff_EBX + 0x23) != '\0')" ( (binary_expression "*(char *)(unaff_EBX + 0x23) != '\0'" (pointer_expression "*(char *)(unaff_EBX + 0x23)" * (cast_expression "(char *)(unaff_EBX + 0x23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x23)" ( (binary_expression "unaff_EBX + 0x23" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }" { (expression_statement "pppppuVar26 = unaff_EBX[0xd][0x2b];" (assignment_expression "pppppuVar26 = unaff_EBX[0xd][0x2b]" identifier = (subscript_expression "unaff_EBX[0xd][0x2b]" (subscript_expression "unaff_EBX[0xd]" identifier [ number_literal ]) [ number_literal ])) ;) (if_statement "if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }" if (parenthesized_expression "(((uint)pppppuVar26[7] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[7] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[7] & 2)" ( (binary_expression "(uint)pppppuVar26[7] & 2" (cast_expression "(uint)pppppuVar26[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47701" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c054;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c054" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);" (assignment_expression "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" identifier = (call_expression "CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" identifier (argument_list "((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" ( (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)pppppuVar26[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ])) )))) ;) (expression_statement "local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);" (assignment_expression "local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" ( (binary_expression "(int)(undefined4 *******)local_cc + (int)pppppuVar26[3]" (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)pppppuVar26[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);" (assignment_expression "local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41)" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppuVar26[4] + (uint)bVar41)" ( (binary_expression "(int)pppppuVar26[4] + (uint)bVar41" (cast_expression "(int)pppppuVar26[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[4]" identifier [ number_literal ])) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (if_statement "if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }" if (parenthesized_expression "(local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0)" ( (binary_expression "local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0" (binary_expression "local_cc._4_4_ != (undefined4 *****)0x0" (field_expression "local_cc._4_4_" identifier . field_identifier) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) || (binary_expression "(undefined4 *******)local_cc != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) (compound_statement "{\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }" { (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }" { comment (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c314;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c314" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n              uVar39 = 0x20;\n            }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (expression_statement "local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);" (assignment_expression "local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" identifier = (binary_expression "local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" identifier + (call_expression "CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" identifier (argument_list "((uVar39 != 0) - 1,uVar39 - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) , (binary_expression "uVar39 - 1" identifier - number_literal) ))))) ;) (expression_statement "local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);" (assignment_expression "local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" identifier = (call_expression "CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" identifier (argument_list "(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" ( (binary_expression "-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20)" (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))) & (call_expression "(uint)((ulonglong)local_dc >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)local_dc >> 0x20)" ( (binary_expression "(ulonglong)local_dc >> 0x20" (cast_expression "(ulonglong)local_dc" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "(uint)local_dc & -uVar39" (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-uVar39" - identifier)) )))) ;) })) (expression_statement "lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);" (assignment_expression "lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" identifier = (binary_expression "local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" identifier + (call_expression "CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" identifier (argument_list "(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" ( (binary_expression "((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4)" (parenthesized_expression "((int)local_cc._4_4_ - (int)local_b4._4_4_)" ( (binary_expression "(int)local_cc._4_4_ - (int)local_b4._4_4_" (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) - (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_cc < (undefined4 *******)local_b4)" ( (binary_expression "(undefined4 *******)local_cc < (undefined4 *******)local_b4" (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) < (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) , (binary_expression "(int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4" (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) - (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);" (assignment_expression "ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20)" identifier = (cast_expression "(undefined4 ******)((ulonglong)lVar44 >> 0x20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_cc = *(longlong *)(unaff_EBX + 0x21);" (assignment_expression "local_cc = *(longlong *)(unaff_EBX + 0x21)" identifier = (pointer_expression "*(longlong *)(unaff_EBX + 0x21)" * (cast_expression "(longlong *)(unaff_EBX + 0x21)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x21)" ( (binary_expression "unaff_EBX + 0x21" identifier + number_literal) ))))) ;) (if_statement "if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }" if (parenthesized_expression "(unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44))" ( (binary_expression "unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (binary_expression "unaff_EBX[0x22] < ppppppuVar31" (subscript_expression "unaff_EBX[0x22]" identifier [ number_literal ]) < identifier) || (binary_expression "(uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (call_expression "(uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_EBX[0x22] - (int)ppppppuVar31)" ( (binary_expression "(int)unaff_EBX[0x22] - (int)ppppppuVar31" (cast_expression "(int)unaff_EBX[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0x22]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_EBX[0x21] < (undefined4 ******)lVar44)" ( (binary_expression "unaff_EBX[0x21] < (undefined4 ******)lVar44" (subscript_expression "unaff_EBX[0x21]" identifier [ number_literal ]) < (cast_expression "(undefined4 ******)lVar44" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ))))) )) (compound_statement "{\n            local_cc = lVar44;\n          }" { (expression_statement "local_cc = lVar44;" (assignment_expression "local_cc = lVar44" identifier = identifier) ;) })) (expression_statement "bVar42 = *(byte *)(unaff_EBX + 7);" (assignment_expression "bVar42 = *(byte *)(unaff_EBX + 7)" identifier = (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (if_statement "if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" if (parenthesized_expression "((bVar42 & 8) == 0)" ( (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }" { (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xf8" identifier & number_literal)) ;) }) (else_clause "else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" else (if_statement "if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" if (parenthesized_expression "((bVar42 & 2) != 0)" ( (binary_expression "(bVar42 & 2) != 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47868" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008acc9" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008acc9" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })))) (expression_statement "*(longlong *)(unaff_EBX + 3) = local_cc;" (assignment_expression "*(longlong *)(unaff_EBX + 3) = local_cc" (pointer_expression "*(longlong *)(unaff_EBX + 3)" * (cast_expression "(longlong *)(unaff_EBX + 3)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 3)" ( (binary_expression "unaff_EBX + 3" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)local_bc[7] & 4) == 0)" ( (binary_expression "((uint)local_bc[7] & 4) == 0" (parenthesized_expression "((uint)local_bc[7] & 4)" ( (binary_expression "(uint)local_bc[7] & 4" (cast_expression "(uint)local_bc[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_bc[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4784e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c075;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c075" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = (undefined4 ******)local_bc[5];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_bc[5]" identifier = (cast_expression "(undefined4 ******)local_bc[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[5]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_bc[6];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_bc[6]" identifier = (cast_expression "(undefined4 ******)local_bc[6]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[6]" identifier [ number_literal ]))) ;) (if_statement "if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)local_bc[7] & 1) == 0)" ( (binary_expression "((uint)local_bc[7] & 1) == 0" (parenthesized_expression "((uint)local_bc[7] & 1)" ( (binary_expression "(uint)local_bc[7] & 1" (cast_expression "(uint)local_bc[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_bc[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8bfdf" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar33 = (undefined4 ******)local_bc[1];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_bc[1]" identifier = (cast_expression "(undefined4 ******)local_bc[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar8 = (undefined4 ******)local_bc[1];" (assignment_expression "ppppppuVar8 = (undefined4 ******)local_bc[1]" identifier = (cast_expression "(undefined4 ******)local_bc[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar29 = (undefined4 ******)local_bc[2];" (assignment_expression "ppppppuVar29 = (undefined4 ******)local_bc[2]" identifier = (cast_expression "(undefined4 ******)local_bc[2]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[2]" identifier [ number_literal ]))) ;) (expression_statement "unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);" (assignment_expression "unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5])" (subscript_expression "unaff_EBX[5]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)local_bc[5])" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)local_bc[5]" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_bc[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_bc[5]" identifier [ number_literal ]))) )))) ;) (expression_statement "ppppppuVar4 = *unaff_EBX;" (assignment_expression "ppppppuVar4 = *unaff_EBX" identifier = (pointer_expression "*unaff_EBX" * identifier)) ;) (expression_statement "unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);" (assignment_expression "unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" (subscript_expression "unaff_EBX[1]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)ppppppuVar8" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)ppppppuVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);" (assignment_expression "unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" (subscript_expression "unaff_EBX[2]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" ( (binary_expression "(int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_" (binary_expression "(int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" (cast_expression "(int)ppppppuVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)ppppppuVar33" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )))) ;) (expression_statement "unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);" (assignment_expression "unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" (subscript_expression "unaff_EBX[6]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" ( (binary_expression "(int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_" (binary_expression "(int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )))) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;" (assignment_expression "*(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(unaff_EBX + 7) | 5" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppuVar26 = ppppppuVar4[0xe];" (assignment_expression "pppppuVar26 = ppppppuVar4[0xe]" identifier = (subscript_expression "ppppppuVar4[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ac5b" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppuVar26)();" (call_expression "(*(code *)pppppuVar26)()" (parenthesized_expression "(*(code *)pppppuVar26)" ( (pointer_expression "*(code *)pppppuVar26" * (cast_expression "(code *)pppppuVar26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478e2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c033;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c033" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar44 = local_b4 + local_cc;" (assignment_expression "lVar44 = local_b4 + local_cc" identifier = (binary_expression "local_b4 + local_cc" identifier + identifier)) ;) (expression_statement "local_b4 = local_cc + local_b4;" (assignment_expression "local_b4 = local_cc + local_b4" identifier = (binary_expression "local_cc + local_b4" identifier + identifier)) ;) (if_statement "if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }" if (parenthesized_expression "(3 < param_2)" ( (binary_expression "3 < param_2" number_literal < identifier) )) (compound_statement "{\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }" { (expression_statement "*(longlong *)(unaff_EBX + 0x21) = local_cc;" (assignment_expression "*(longlong *)(unaff_EBX + 0x21) = local_cc" (pointer_expression "*(longlong *)(unaff_EBX + 0x21)" * (cast_expression "(longlong *)(unaff_EBX + 0x21)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x21)" ( (binary_expression "unaff_EBX + 0x21" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) })) }) (else_clause "else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" else (compound_statement "{\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" { (expression_statement "puVar23 = (undefined *)((int)local_a8[1] + -1);" (assignment_expression "puVar23 = (undefined *)((int)local_a8[1] + -1)" identifier = (cast_expression "(undefined *)((int)local_a8[1] + -1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_a8[1] + -1)" ( (binary_expression "(int)local_a8[1] + -1" (cast_expression "(int)local_a8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[1]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "bVar42 = (byte)puVar23;" (assignment_expression "bVar42 = (byte)puVar23" identifier = (cast_expression "(byte)puVar23" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "bVar41 = ((uint)puVar23 & 0x20) == 0;" (assignment_expression "bVar41 = ((uint)puVar23 & 0x20) == 0" identifier = (binary_expression "((uint)puVar23 & 0x20) == 0" (parenthesized_expression "((uint)puVar23 & 0x20)" ( (binary_expression "(uint)puVar23 & 0x20" (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal)) ;) (expression_statement "lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));" (assignment_expression "lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" identifier = (call_expression "CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" identifier (argument_list "((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" ( (binary_expression "(uint)!bVar41 << (bVar42 & 0x1f)" (cast_expression "(uint)!bVar41" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar41" ! identifier)) << (parenthesized_expression "(bVar42 & 0x1f)" ( (binary_expression "bVar42 & 0x1f" identifier & number_literal) ))) , (binary_expression "(uint)bVar41 << (bVar42 & 0x1f)" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) << (parenthesized_expression "(bVar42 & 0x1f)" ( (binary_expression "bVar42 & 0x1f" identifier & number_literal) ))) )))) ;) (labeled_statement "LAB_0008aa09:\n          lVar44 = local_b4;" statement_identifier : (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;)) (if_statement "if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }" if (parenthesized_expression "(lVar45 != 0)" ( (binary_expression "lVar45 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }" { (expression_statement "lVar44 = lVar45 + local_b4 + -1;" (assignment_expression "lVar44 = lVar45 + local_b4 + -1" identifier = (binary_expression "lVar45 + local_b4 + -1" (binary_expression "lVar45 + local_b4" identifier + identifier) + number_literal)) ;) (expression_statement "lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);" (assignment_expression "lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" identifier = (call_expression "CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" identifier (argument_list "((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" ( (binary_expression "(uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" (call_expression "(uint)((ulonglong)lVar44 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (unary_expression "-((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" - (parenthesized_expression "((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" ( (binary_expression "(int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)" (cast_expression "(int)((ulonglong)lVar45 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar45 >> 0x20)" ( (binary_expression "(ulonglong)lVar45 >> 0x20" (cast_expression "(ulonglong)lVar45" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (call_expression "(uint)((int)lVar45 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)lVar45 != 0)" ( (binary_expression "(int)lVar45 != 0" (cast_expression "(int)lVar45" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )))) )))) , (binary_expression "(uint)lVar44 & -(int)lVar45" (cast_expression "(uint)lVar44" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)lVar45" - (cast_expression "(int)lVar45" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) })) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (if_statement "if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;" if (parenthesized_expression "((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U))" ( (binary_expression "(undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)" (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)ppppppuVar31 + 3U)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuVar31 + 3U)" ( (binary_expression "(int)ppppppuVar31 + 3U" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_0008aab8;" goto statement_identifier ;)) (labeled_statement "LAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aa5c" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_0015c5c0();" (assignment_expression "lVar44 = FUN_0015c5c0()" identifier = (call_expression "FUN_0015c5c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_b4 = lVar44 + local_b4;" (assignment_expression "local_b4 = lVar44 + local_b4" identifier = (binary_expression "lVar44 + local_b4" identifier + identifier)) ;) }))) (expression_statement "local_a8 = local_a8 + 6;" (assignment_expression "local_a8 = local_a8 + 6" identifier = (binary_expression "local_a8 + 6" identifier + number_literal)) ;) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 ******)local_bc[0x1c] != local_a8)" ( (binary_expression "(undefined4 ******)local_bc[0x1c] != local_a8" (cast_expression "(undefined4 ******)local_bc[0x1c]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[0x1c]" identifier [ number_literal ])) != identifier) )) ;) })) (expression_statement "*(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;" (assignment_expression "*(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb" (pointer_expression "*(byte *)((int)local_bc + 0x92)" * (cast_expression "(byte *)((int)local_bc + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_bc + 0x92)" ( (binary_expression "(int)local_bc + 0x92" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_bc + 0x92) & 0xfb" (pointer_expression "*(byte *)((int)local_bc + 0x92)" * (cast_expression "(byte *)((int)local_bc + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_bc + 0x92)" ( (binary_expression "(int)local_bc + 0x92" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "local_e4 = (undefined4 ******)*local_e4;" (assignment_expression "local_e4 = (undefined4 ******)*local_e4" identifier = (cast_expression "(undefined4 ******)*local_e4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_e4" * identifier))) ;) }) while (parenthesized_expression "((undefined4 *******)local_e4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_e4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_e4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) ;) (expression_statement "local_e4 = (undefined4 *******)0x0;" (assignment_expression "local_e4 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (goto_statement "goto joined_r0x0008acfa;" goto statement_identifier ;) (labeled_statement "LAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" statement_identifier : (if_statement "if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" if (parenthesized_expression "(piVar13 + -1 != *(int **)(param_1 + 0x50))" ( (binary_expression "piVar13 + -1 != *(int **)(param_1 + 0x50)" (binary_expression "piVar13 + -1" identifier + number_literal) != (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" { (expression_statement "iVar19 = piVar13[-1];" (assignment_expression "iVar19 = piVar13[-1]" identifier = (subscript_expression "piVar13[-1]" identifier [ number_literal ])) ;) (expression_statement "unaff_EBX = (undefined4 *******)(local_ac + 0x13a);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_ac + 0x13a)" identifier = (cast_expression "(undefined4 *******)(local_ac + 0x13a)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + 0x13a)" ( (binary_expression "local_ac + 0x13a" identifier + number_literal) )))) ;) (expression_statement "pppppuVar26 = (*unaff_EBX)[2];" (assignment_expression "pppppuVar26 = (*unaff_EBX)[2]" identifier = (subscript_expression "(*unaff_EBX)[2]" (parenthesized_expression "(*unaff_EBX)" ( (pointer_expression "*unaff_EBX" * identifier) )) [ number_literal ])) ;) (expression_statement "local_c4 = unaff_EBX;" (assignment_expression "local_c4 = unaff_EBX" identifier = identifier) ;) (if_statement "if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }" if (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(local_ac + -0x474c9)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0x474c9)" ( (binary_expression "local_ac + -0x474c9" identifier + number_literal) )))) ;) (expression_statement "local_a8 = unaff_EBX;" (assignment_expression "local_a8 = unaff_EBX" identifier = identifier) ;) (do_statement "do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);" do (compound_statement "{\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      }" { (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }" if (parenthesized_expression "(((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           )" ( (binary_expression "((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)" (parenthesized_expression "((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0))" ( (binary_expression "(*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)" (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x2105) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x2105) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x2105)" * (cast_expression "(char *)((int)pppppuVar26 + 0x2105)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2105)" ( (binary_expression "(int)pppppuVar26 + 0x2105" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0" (pointer_expression "*(int *)(*(int *)(iVar19 + 0x34) + 0x28)" * (cast_expression "(int *)(*(int *)(iVar19 + 0x34) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x34) + 0x28)" ( (binary_expression "*(int *)(iVar19 + 0x34) + 0x28" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0" (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c)" (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74)" (pointer_expression "*(int *)(iVar19 + 0x7c)" * (cast_expression "(int *)(iVar19 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7c)" ( (binary_expression "iVar19 + 0x7c" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar19 + 0x74)" * (cast_expression "(int *)(iVar19 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x74)" ( (binary_expression "iVar19 + 0x74" identifier + number_literal) ))))) + (binary_expression "(uint)*(byte *)(iVar19 + 0x8c)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar19 + 0x8c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x8c)" ( (binary_expression "iVar19 + 0x8c" identifier + number_literal) ))))) != number_literal) ))) )) (compound_statement "{\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }" { (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa5);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa5)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x9c) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x9c) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x9c)" * (cast_expression "(undefined4 *)(iVar19 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x9c)" ( (binary_expression "iVar19 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar19 + 0xa0) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0xa0) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0xa0)" * (cast_expression "(undefined4 *)(iVar19 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa0)" ( (binary_expression "iVar19 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar19 + 0xa4) = 0;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa4) = 0" (pointer_expression "*(undefined1 *)(iVar19 + 0xa4)" * (cast_expression "(undefined1 *)(iVar19 + 0xa4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa4)" ( (binary_expression "iVar19 + 0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar39 = *(uint *)(iVar19 + 0x94);" (assignment_expression "uVar39 = *(uint *)(iVar19 + 0x94)" identifier = (pointer_expression "*(uint *)(iVar19 + 0x94)" * (cast_expression "(uint *)(iVar19 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x94)" ( (binary_expression "iVar19 + 0x94" identifier + number_literal) ))))) ;) (if_statement "if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }" if (parenthesized_expression "(uVar39 != 0xffffffff)" ( (binary_expression "uVar39 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }" { (expression_statement "uVar20 = uVar39 >> 2;" (assignment_expression "uVar20 = uVar39 >> 2" identifier = (binary_expression "uVar39 >> 2" identifier >> number_literal)) ;) (if_statement "if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" if (parenthesized_expression "(uVar39 < 0x100)" ( (binary_expression "uVar39 < 0x100" identifier < number_literal) )) (compound_statement "{\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }" { (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa6);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa6)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) ;) (expression_statement "*(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';" (assignment_expression "*(char *)(iVar19 + 0xa5) = (char)uVar20 + '@'" (pointer_expression "*(char *)(iVar19 + 0xa5)" * (cast_expression "(char *)(iVar19 + 0xa5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = (binary_expression "(char)uVar20 + '@'" (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'@'" ' character '))) ;) }) (else_clause "else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" else (if_statement "if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" if (parenthesized_expression "(uVar39 < 0x400)" ( (binary_expression "uVar39 < 0x400" identifier < number_literal) )) (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }" { (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 2;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 2" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" * (cast_expression "(undefined1 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa7);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa7)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa7)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa7)" ( (binary_expression "iVar19 + 0xa7" identifier + number_literal) )))) ;) (expression_statement "*(char *)(iVar19 + 0xa6) = (char)uVar20;" (assignment_expression "*(char *)(iVar19 + 0xa6) = (char)uVar20" (pointer_expression "*(char *)(iVar19 + 0xa6)" * (cast_expression "(char *)(iVar19 + 0xa6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) = (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" else (if_statement "if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" if (parenthesized_expression "(uVar39 < 0x40000)" ( (binary_expression "uVar39 < 0x40000" identifier < number_literal) )) (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }" { (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 3;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 3" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" * (cast_expression "(undefined1 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa8);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa8)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa8)" ( (binary_expression "iVar19 + 0xa8" identifier + number_literal) )))) ;) (expression_statement "*(short *)(iVar19 + 0xa6) = (short)uVar20;" (assignment_expression "*(short *)(iVar19 + 0xa6) = (short)uVar20" (pointer_expression "*(short *)(iVar19 + 0xa6)" * (cast_expression "(short *)(iVar19 + 0xa6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) = (cast_expression "(short)uVar20" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) }) (else_clause "else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" else (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" { (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 4;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 4" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" * (cast_expression "(undefined1 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xaa);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xaa)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xaa)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xaa)" ( (binary_expression "iVar19 + 0xaa" identifier + number_literal) )))) ;) (expression_statement "*(uint *)(iVar19 + 0xa6) = uVar20;" (assignment_expression "*(uint *)(iVar19 + 0xa6) = uVar20" (pointer_expression "*(uint *)(iVar19 + 0xa6)" * (cast_expression "(uint *)(iVar19 + 0xa6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) = identifier) ;) }))))))) (expression_statement "*puVar21 = 0x4111;" (assignment_expression "*puVar21 = 0x4111" (pointer_expression "*puVar21" * identifier) = number_literal) ;) (expression_statement "uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);" (assignment_expression "uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar19 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(iVar19 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x34) + 8)" ( (binary_expression "*(int *)(iVar19 + 0x34) + 8" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined2 *)((int)puVar21 + 3) = 0x644;" (assignment_expression "*(undefined2 *)((int)puVar21 + 3) = 0x644" (pointer_expression "*(undefined2 *)((int)puVar21 + 3)" * (cast_expression "(undefined2 *)((int)puVar21 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 3)" ( (binary_expression "(int)puVar21 + 3" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar21 + 5) = 0x41;" (assignment_expression "*(undefined1 *)((int)puVar21 + 5) = 0x41" (pointer_expression "*(undefined1 *)((int)puVar21 + 5)" * (cast_expression "(undefined1 *)((int)puVar21 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 5)" ( (binary_expression "(int)puVar21 + 5" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;" (assignment_expression "*(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f" (pointer_expression "*(byte *)(puVar21 + 1)" * (cast_expression "(byte *)(puVar21 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 1)" ( (binary_expression "puVar21 + 1" identifier + number_literal) )))) = (binary_expression "(-((uVar39 & 2) == 0) & 0xfdU) + 0x7f" (parenthesized_expression "(-((uVar39 & 2) == 0) & 0xfdU)" ( (binary_expression "-((uVar39 & 2) == 0) & 0xfdU" (unary_expression "-((uVar39 & 2) == 0)" - (parenthesized_expression "((uVar39 & 2) == 0)" ( (binary_expression "(uVar39 & 2) == 0" (parenthesized_expression "(uVar39 & 2)" ( (binary_expression "uVar39 & 2" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "puVar21 = puVar21 + 3;" (assignment_expression "puVar21 = puVar21 + 3" identifier = (binary_expression "puVar21 + 3" identifier + number_literal)) ;) })) (expression_statement "iVar22 = (int)puVar21 - (iVar19 + 0x9c);" (assignment_expression "iVar22 = (int)puVar21 - (iVar19 + 0x9c)" identifier = (binary_expression "(int)puVar21 - (iVar19 + 0x9c)" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(iVar19 + 0x9c)" ( (binary_expression "iVar19 + 0x9c" identifier + number_literal) )))) ;) (expression_statement "*(int *)(iVar19 + 0x98) = iVar22;" (assignment_expression "*(int *)(iVar19 + 0x98) = iVar22" (pointer_expression "*(int *)(iVar19 + 0x98)" * (cast_expression "(int *)(iVar19 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x98)" ( (binary_expression "iVar19 + 0x98" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0xc) = iVar22;" (assignment_expression "*(int *)(puVar35 + -0xc) = iVar22" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0x10) = iVar19 + 0x9c;" (assignment_expression "*(int *)(puVar35 + -0x10) = iVar19 + 0x9c" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar19 + 0x9c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0xc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0xc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(int *)(puVar35 + -0x1c) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x1c) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x1c)" * (cast_expression "(int *)(puVar35 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = param_5" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x89654;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x89654" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00111200();" (call_expression "FUN_00111200()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" identifier = (cast_expression "(undefined4 *******)ppppppuVar31" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) })) (if_statement "if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }" if (parenthesized_expression "(*(int **)(param_1 + 0x50) == piVar13)" ( (binary_expression "*(int **)(param_1 + 0x50) == piVar13" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }" { (expression_statement "local_5c._4_4_ = (undefined4 *******)0x1;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)0x1" (field_expression "local_5c._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_54 = (undefined4 *******)0x0;" (assignment_expression "local_54 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "piVar40 = *(int **)(param_1 + 0x4c);" (assignment_expression "piVar40 = *(int **)(param_1 + 0x4c)" identifier = (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "local_5c._0_4_ = (undefined4 *******)&local_44;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)&local_44" (field_expression "local_5c._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)&local_44" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_44" & identifier))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_10c = (undefined4 ******)&local_5c;" (assignment_expression "local_10c = (undefined4 ******)&local_5c" identifier = (cast_expression "(undefined4 ******)&local_5c" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&local_5c" & identifier))) ;) (expression_statement "local_4c = 0x3f800000;" (assignment_expression "local_4c = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (piVar40 == piVar13) goto LAB_0008a7bd;" if (parenthesized_expression "(piVar40 == piVar13)" ( (binary_expression "piVar40 == piVar13" identifier == identifier) )) (goto_statement "goto LAB_0008a7bd;" goto statement_identifier ;)) (expression_statement "local_bc = local_ac + -0xdbefc;" (assignment_expression "local_bc = local_ac + -0xdbefc" identifier = (binary_expression "local_ac + -0xdbefc" identifier + number_literal)) ;) (goto_statement "goto LAB_00089744;" goto statement_identifier ;) })) (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_a8)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_a8)[2]" identifier = (cast_expression "(undefined4 *****)(*local_a8)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_a8)[2]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) ;) }) while (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) })) (goto_statement "goto LAB_0008c0b4;" goto statement_identifier ;) }))) (labeled_statement "LAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;" statement_identifier : (expression_statement "local_5c._0_4_ = (undefined4 *******)&local_44;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)&local_44" (field_expression "local_5c._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)&local_44" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_44" & identifier))) ;)) (expression_statement "local_5c._4_4_ = (undefined4 *******)0x1;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)0x1" (field_expression "local_5c._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_10c = (undefined4 ******)&local_5c;" (assignment_expression "local_10c = (undefined4 ******)&local_5c" identifier = (cast_expression "(undefined4 ******)&local_5c" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&local_5c" & identifier))) ;) (expression_statement "local_54 = (undefined4 *******)0x0;" (assignment_expression "local_54 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0x3f800000;" (assignment_expression "local_4c = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (labeled_statement "joined_r0x0008acfa:\n  local_ac = pppppppuVar10;" statement_identifier : (expression_statement "local_ac = pppppppuVar10;" (assignment_expression "local_ac = pppppppuVar10" identifier = identifier) ;)) (if_statement "if ((char)local_fc != '\0') goto LAB_0008ad00;" if (parenthesized_expression "((char)local_fc != '\0')" ( (binary_expression "(char)local_fc != '\0'" (cast_expression "(char)local_fc" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008ad00;" goto statement_identifier ;)) (if_statement "if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" if (parenthesized_expression "((undefined4 *******)local_f4 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_f4 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_f4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }" { (if_statement "if ((char)local_fc != '\0') goto LAB_0008ad00;" if (parenthesized_expression "((char)local_fc != '\0')" ( (binary_expression "(char)local_fc != '\0'" (cast_expression "(char)local_fc" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008ad00;" goto statement_identifier ;)) (expression_statement "local_c4 = pppppppuVar10 + 0x13a;" (assignment_expression "local_c4 = pppppppuVar10 + 0x13a" identifier = (binary_expression "pppppppuVar10 + 0x13a" identifier + number_literal)) ;) (labeled_statement "LAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];" statement_identifier : (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;)) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }" { (expression_statement "*(undefined4 ********)(puVar35 + -4) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -4) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -4)" * (cast_expression "(undefined4 ********)(puVar35 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008c216;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008c216" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008c216" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" else (compound_statement "{\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" { (expression_statement "local_c4 = pppppppuVar10 + 0x13a;" (assignment_expression "local_c4 = pppppppuVar10 + 0x13a" identifier = (binary_expression "pppppppuVar10 + 0x13a" identifier + number_literal)) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }" { (expression_statement "*(undefined4 *)(puVar35 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;" (assignment_expression "*(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716" (pointer_expression "*(undefined4 ********)(puVar35 + -8)" * (cast_expression "(undefined4 ********)(puVar35 + -8)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "pppppppuVar10 + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)pppppppuVar10 + -0x131d93" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c376;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c376" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }" if (parenthesized_expression "((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x1a25) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x1a25) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x1a25)" * (cast_expression "(char *)((int)pppppuVar26 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x1a25)" ( (binary_expression "(int)pppppuVar26 + 0x1a25" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x2931) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x2931) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x2931)" * (cast_expression "(char *)((int)pppppuVar26 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2931)" ( (binary_expression "(int)pppppuVar26 + 0x2931" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }" { (expression_statement "iVar19 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x24)" identifier = (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }" if (parenthesized_expression "((*(byte *)(iVar19 + 0x1c) & 8) == 0)" ( (binary_expression "(*(byte *)(iVar19 + 0x1c) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar19 + 0x1c) & 8)" ( (binary_expression "*(byte *)(iVar19 + 0x1c) & 8" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }" { (expression_statement "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar19 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) & number_literal)) ;) })) (expression_statement "local_a8 = *(undefined4 *******)(iVar19 + 0x2c);" (assignment_expression "local_a8 = *(undefined4 *******)(iVar19 + 0x2c)" identifier = (pointer_expression "*(undefined4 *******)(iVar19 + 0x2c)" * (cast_expression "(undefined4 *******)(iVar19 + 0x2c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }" if (parenthesized_expression "((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0)" ( (binary_expression "(*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0" (parenthesized_expression "(*(byte *)((undefined4 *******)local_a8 + 7) & 8)" ( (binary_expression "*(byte *)((undefined4 *******)local_a8 + 7) & 8" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" * (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_a8 + 7)" ( (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }" { (expression_statement "*(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;" (assignment_expression "*(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" * (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_a8 + 7)" ( (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((undefined4 *******)local_a8 + 7) & 0xfd" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" * (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_a8 + 7)" ( (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) & number_literal)) ;) })) (expression_statement "piVar13 = *(int **)(param_1 + 0x60);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x60)" identifier = (pointer_expression "*(int **)(param_1 + 0x60)" * (cast_expression "(int **)(param_1 + 0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }" { (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (while_statement "while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)piVar13[1];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)piVar13[1]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)piVar13[1]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "piVar13[1]" identifier [ number_literal ]))) ;) (expression_statement "local_b4._4_4_ = (undefined4 *****)piVar13[2];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)piVar13[2]" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)piVar13[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar13[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar22 = piVar13[3];" (assignment_expression "iVar22 = piVar13[3]" identifier = (subscript_expression "piVar13[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x14) = iVar22;" (assignment_expression "*(int *)(puVar35 + -0x14) = iVar22" (pointer_expression "*(int *)(puVar35 + -0x14)" * (cast_expression "(int *)(puVar35 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0x18) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x18) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x18)" * (cast_expression "(int *)(puVar35 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x16;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x16" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x20) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x20) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x20)" * (cast_expression "(undefined4 *******)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8a935;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8a935" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0016dd00();" (call_expression "FUN_0016dd00()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "local_24 = (undefined4 *******)local_b4;" (assignment_expression "local_24 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_20 = local_b4._4_4_;" (assignment_expression "local_20 = local_b4._4_4_" identifier = (field_expression "local_b4._4_4_" identifier . field_identifier)) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[0xe];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[0xe]" identifier = (cast_expression "(undefined4 ******)local_a8[0xe]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xe]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" if (parenthesized_expression "(ppppppuVar31 == (undefined4 ******)local_a8[0xf])" ( (binary_expression "ppppppuVar31 == (undefined4 ******)local_a8[0xf]" identifier == (cast_expression "(undefined4 ******)local_a8[0xf]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xf]" identifier [ number_literal ]))) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar11 + 0xd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a975;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a975" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000ad050();" (call_expression "FUN_000ad050()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];" (assignment_expression "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe]" identifier = (cast_expression "(undefined4 ******)ppppppuVar11[0xe]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[0xe]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" else (compound_statement "{\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" { (expression_statement "ppppppuVar11 = ppppppuVar31 + 9;" (assignment_expression "ppppppuVar11 = ppppppuVar31 + 9" identifier = (binary_expression "ppppppuVar31 + 9" identifier + number_literal)) ;) (expression_statement "*ppppppuVar31 = local_40;" (assignment_expression "*ppppppuVar31 = local_40" (pointer_expression "*ppppppuVar31" * identifier) = identifier) ;) (expression_statement "ppppppuVar31[1] = local_3c;" (assignment_expression "ppppppuVar31[1] = local_3c" (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[2] = local_38;" (assignment_expression "ppppppuVar31[2] = local_38" (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[3] = local_34;" (assignment_expression "ppppppuVar31[3] = local_34" (subscript_expression "ppppppuVar31[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[4] = local_30;" (assignment_expression "ppppppuVar31[4] = local_30" (subscript_expression "ppppppuVar31[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[5] = local_2c;" (assignment_expression "ppppppuVar31[5] = local_2c" (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[6] = (undefined4 *****)local_28;" (assignment_expression "ppppppuVar31[6] = (undefined4 *****)local_28" (subscript_expression "ppppppuVar31[6]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)local_28" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppuVar31[7] = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31[7] = (undefined4 *******)local_b4" (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ]) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuVar31[8] = local_b4._4_4_;" (assignment_expression "ppppppuVar31[8] = local_b4._4_4_" (subscript_expression "ppppppuVar31[8]" identifier [ number_literal ]) = (field_expression "local_b4._4_4_" identifier . field_identifier)) ;) (expression_statement "local_a8[0xe] = ppppppuVar11;" (assignment_expression "local_a8[0xe] = ppppppuVar11" (subscript_expression "local_a8[0xe]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;" (assignment_expression "iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2" identifier = (binary_expression "(int)ppppppuVar11 - (int)local_a8[0xd] >> 2" (binary_expression "(int)ppppppuVar11 - (int)local_a8[0xd]" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_a8[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0xd]" identifier [ number_literal ]))) >> number_literal)) ;) (expression_statement "iVar12 = iVar22 * 0x38e38e39;" (assignment_expression "iVar12 = iVar22 * 0x38e38e39" identifier = (binary_expression "iVar22 * 0x38e38e39" identifier * number_literal)) ;) (if_statement "if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)local_a8[7] & 2) != 0)" ( (binary_expression "((uint)local_a8[7] & 2) != 0" (parenthesized_expression "((uint)local_a8[7] & 2)" ( (binary_expression "(uint)local_a8[7] & 2" (cast_expression "(uint)local_a8[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }" { (expression_statement "*(int *)(puVar35 + -4) = iVar12;" (assignment_expression "*(int *)(puVar35 + -4) = iVar12" (pointer_expression "*(int *)(puVar35 + -4)" * (cast_expression "(int *)(puVar35 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47868" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c3da;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c3da" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);" (assignment_expression "local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558)" (subscript_expression "local_a8[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)(iVar22 * 0x55555558)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar22 * 0x55555558)" ( (binary_expression "iVar22 * 0x55555558" identifier * number_literal) )))) ;) (expression_statement "local_a8[4] = (undefined4 ******)0x0;" (assignment_expression "local_a8[4] = (undefined4 ******)0x0" (subscript_expression "local_a8[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar19 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }" if (parenthesized_expression "(((uint)local_2c & 0x10000000) != 0)" ( (binary_expression "((uint)local_2c & 0x10000000) != 0" (parenthesized_expression "((uint)local_2c & 0x10000000)" ( (binary_expression "(uint)local_2c & 0x10000000" (cast_expression "(uint)local_2c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }" { (expression_statement "local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);" (assignment_expression "local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1)" (subscript_expression "local_a8[0xb]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_a8[0xb] + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a8[0xb] + 1)" ( (binary_expression "(int)local_a8[0xb] + 1" (cast_expression "(int)local_a8[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) })) (if_statement "if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }" if (parenthesized_expression "(((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0))" ( (binary_expression "((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc)" ( (binary_expression "(undefined4 *****)local_28 != (undefined4 *****)0xfffffffc" (cast_expression "(undefined4 *****)local_28" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(undefined4 *****)0xfffffffc" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((undefined4 *******)local_3c != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_3c != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_3c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (compound_statement "{\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }" { (if_statement "if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }" if (parenthesized_expression "((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_3c[0x19]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_3c[0x19]" identifier [ number_literal ])) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }" { (expression_statement "local_3c[0x18] = (undefined4 ******)(iVar12 + -1);" (assignment_expression "local_3c[0x18] = (undefined4 ******)(iVar12 + -1)" (subscript_expression "local_3c[0x18]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)(iVar12 + -1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar12 + -1)" ( (binary_expression "iVar12 + -1" identifier + number_literal) )))) ;) })) (expression_statement "local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);" (assignment_expression "local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1)" (subscript_expression "local_3c[0x19]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_3c[0x19] + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_3c[0x19] + 1)" ( (binary_expression "(int)local_3c[0x19] + 1" (cast_expression "(int)local_3c[0x19]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_3c[0x19]" identifier [ number_literal ])) + number_literal) )))) ;) })) (expression_statement "piVar13 = (int *)*piVar13;" (assignment_expression "piVar13 = (int *)*piVar13" identifier = (cast_expression "(int *)*piVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier))) ;) (expression_statement "iVar19 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x24)" identifier = (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 == (int *)0x0) break;" if (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_a8 = *(undefined4 *******)(iVar19 + 0x2c);" (assignment_expression "local_a8 = *(undefined4 *******)(iVar19 + 0x2c)" identifier = (pointer_expression "*(undefined4 *******)(iVar19 + 0x2c)" * (cast_expression "(undefined4 *******)(iVar19 + 0x2c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) ))))) ;) })) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "bVar42 = *(byte *)(iVar19 + 0x1c);" (assignment_expression "bVar42 = *(byte *)(iVar19 + 0x1c)" identifier = (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }" if (parenthesized_expression "((bVar42 & 2) == 0)" ( (binary_expression "(bVar42 & 2) == 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }" { (if_statement "if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }" if (parenthesized_expression "((bVar42 & 8) != 0)" ( (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }" { (expression_statement "*(int **)(puVar35 + -4) = piVar13;" (assignment_expression "*(int **)(puVar35 + -4) = piVar13" (pointer_expression "*(int **)(puVar35 + -4)" * (cast_expression "(int **)(puVar35 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47840" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x218;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x218" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c265;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c265" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)(iVar19 + 0x1c) = bVar42 | 2;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = bVar42 | 2" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (binary_expression "bVar42 | 2" identifier | number_literal)) ;) })) (expression_statement "unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);" (assignment_expression "unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c)" identifier = (pointer_expression "*(undefined4 ********)(iVar19 + 0x2c)" * (cast_expression "(undefined4 ********)(iVar19 + 0x2c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }" { (expression_statement "ppppppuVar31 = *unaff_EBX;" (assignment_expression "ppppppuVar31 = *unaff_EBX" identifier = (pointer_expression "*unaff_EBX" * identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "pppppuVar26 = ppppppuVar31[0xe];" (assignment_expression "pppppuVar26 = ppppppuVar31[0xe]" identifier = (subscript_expression "ppppppuVar31[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b1c8" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppuVar26)();" (call_expression "(*(code *)pppppuVar26)()" (parenthesized_expression "(*(code *)pppppuVar26)" ( (pointer_expression "*(code *)pppppuVar26" * (cast_expression "(code *)pppppuVar26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }" { (expression_statement "*(int *)(puVar35 + -4) = iVar19;" (assignment_expression "*(int *)(puVar35 + -4) = iVar19" (pointer_expression "*(int *)(puVar35 + -4)" * (cast_expression "(int *)(puVar35 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x478e2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b1f4" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) })) (goto_statement "goto LAB_0008af56;" goto statement_identifier ;) })) }))) (if_statement "if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }" if (parenthesized_expression "((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0'))" ( (binary_expression "(*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')" (parenthesized_expression "(*(char *)(pppppuVar26 + 0x410) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0x410) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0x410)" * (cast_expression "(char *)(pppppuVar26 + 0x410)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0x410)" ( (binary_expression "pppppuVar26 + 0x410" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x1041) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x1041) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x1041)" * (cast_expression "(char *)((int)pppppuVar26 + 0x1041)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x1041)" ( (binary_expression "(int)pppppuVar26 + 0x1041" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }" { (expression_statement "local_110 = local_71;" (assignment_expression "local_110 = local_71" identifier = identifier) ;) (expression_statement "local_104 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "local_104 = *(undefined4 **)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" * (cast_expression "(undefined4 **)(param_1 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;) (if_statement "if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }" if (parenthesized_expression "(local_104 != *(undefined4 **)(param_1 + 0x50))" ( (binary_expression "local_104 != *(undefined4 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }" { (do_statement "do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);" do (compound_statement "{\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      }" { (expression_statement "local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);" (assignment_expression "local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20)" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)((ulonglong)lVar44 >> 0x20)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_a8 = (undefined4 ******)*local_104;" (assignment_expression "local_a8 = (undefined4 ******)*local_104" identifier = (cast_expression "(undefined4 ******)*local_104" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_104" * identifier))) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0x11]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0x11]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "lVar45 = local_dc;" (assignment_expression "lVar45 = local_dc" identifier = identifier) ;) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }" if (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }" { (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (if_statement "if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }" if (parenthesized_expression "((undefined4 ******)0x3fffffff < ppppppuVar31)" ( (binary_expression "(undefined4 ******)0x3fffffff < ppppppuVar31" (cast_expression "(undefined4 ******)0x3fffffff" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) < identifier) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4741d" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008c2c5" & identifier)) ;) (expression_statement "FUN_0028dc10();" (call_expression "FUN_0028dc10()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 * 4" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b3de;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b3de" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_f8 = (undefined4 ******)FUN_00246670();" (assignment_expression "local_f8 = (undefined4 ******)FUN_00246670()" identifier = (cast_expression "(undefined4 ******)FUN_00246670()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00246670()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_f8;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_f8" identifier = (cast_expression "(undefined4 *******)local_f8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (do_statement "do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);" do (compound_statement "{\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          }" { (expression_statement "*pppppppuVar10 = (undefined4 ******)0x0;" (assignment_expression "*pppppppuVar10 = (undefined4 ******)0x0" (pointer_expression "*pppppppuVar10" * identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppuVar10 = pppppppuVar10 + 1;" (assignment_expression "pppppppuVar10 = pppppppuVar10 + 1" identifier = (binary_expression "pppppppuVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31)" ( (binary_expression "pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31" identifier != (binary_expression "(undefined4 *******)local_f8 + (int)ppppppuVar31" (cast_expression "(undefined4 *******)local_f8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) (for_statement "for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }" for ( (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[0x10]" identifier = (cast_expression "(undefined4 ******)local_a8[0x10]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x10]" identifier [ number_literal ]))) ; (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ; (assignment_expression "ppppppuVar31 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ) (compound_statement "{\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }" { (expression_statement "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;" (assignment_expression "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31" (subscript_expression "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]]" (parenthesized_expression "((undefined4 *******)local_f8)" ( (cast_expression "(undefined4 *******)local_f8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ (cast_expression "(int)ppppppuVar31[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) ]) = identifier) ;) })) (expression_statement "local_dc._0_4_ = (undefined4 *******)0x0;" (assignment_expression "local_dc._0_4_ = (undefined4 *******)0x0" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)local_68;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)local_68" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_68" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }" if (parenthesized_expression "((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_a8[0x11]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x11]" identifier [ number_literal ])) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }" { (do_statement "do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);" do (compound_statement "{\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            }" { (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);" (assignment_expression "local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00)" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined8 *)((uint)local_68[0] & 0xffffff00)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_68[0] & 0xffffff00)" ( (binary_expression "(uint)local_68[0] & 0xffffff00" (cast_expression "(uint)local_68[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_68[0]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_f8[(int)(undefined4 *******)local_dc]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_f8[(int)(undefined4 *******)local_dc]" identifier [ (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ]))) ;) (if_statement "if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" if (parenthesized_expression "(((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0)" ( (binary_expression "((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0" (binary_expression "((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[3]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) || (binary_expression "((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[4]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[3]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf9f" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b8bc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" identifier (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0xc)" * (cast_expression "(char **)(puVar35 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);" (assignment_expression "local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00)" identifier = (cast_expression "(undefined4 ******)((uint)local_40 & 0xffffff00)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)local_40 & 0xffffff00)" ( (binary_expression "(uint)local_40 & 0xffffff00" (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" if (parenthesized_expression "(((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0)" ( (binary_expression "((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" { (expression_statement "*(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];" (assignment_expression "*(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f]" (pointer_expression "*(undefined4 ******)(puVar35 + -8)" * (cast_expression "(undefined4 ******)(puVar35 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[2][0x4f]" (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf9b" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b4a9" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" identifier (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0xc)" * (cast_expression "(char **)(puVar35 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_110;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_110" identifier = (cast_expression "(undefined4 *******)local_110" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[1];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[1]" identifier = (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf9e" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b955;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b955" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" identifier (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0xc)" * (cast_expression "(char **)(puVar35 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" identifier = (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" else (compound_statement "{\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" { (expression_statement "pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];" (assignment_expression "pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d]" identifier = (cast_expression "(undefined4 *****)local_a8[0xd][0x2d]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_a8[0xd][0x2d]" (subscript_expression "local_a8[0xd]" identifier [ number_literal ]) [ number_literal ]))) ;) (if_statement "if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" if (parenthesized_expression "((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14))))" ( (binary_expression "(pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))" (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "(((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))" ( (parenthesized_expression "((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14))" ( (binary_expression "(undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)" (binary_expression "(undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26" (cast_expression "(undefined4 *****)local_a8[0xd][0x2c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_a8[0xd][0x2c]" (subscript_expression "local_a8[0xd]" identifier [ number_literal ]) [ number_literal ])) != identifier) && (parenthesized_expression "(pppppuVar26 != pppppuVar14)" ( (binary_expression "pppppuVar26 != pppppuVar14" identifier != identifier) ))) )) ))) )) (compound_statement "{\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" { (expression_statement "pppppppuVar10 = (undefined4 *******)*pppppuVar26;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*pppppuVar26" identifier = (cast_expression "(undefined4 *******)*pppppuVar26" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppuVar26" * identifier))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" identifier = (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" else (compound_statement "{\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" { (expression_statement "pppppppuVar10 = (undefined4 *******)*pppppuVar14;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*pppppuVar14" identifier = (cast_expression "(undefined4 *******)*pppppuVar14" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppuVar14" * identifier))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" identifier = (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }))) }))) (do_statement "do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);" do (compound_statement "{\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              }" { (expression_statement "pppppppuVar30 = pppppppuVar16;" (assignment_expression "pppppppuVar30 = pppppppuVar16" identifier = identifier) ;) (expression_statement "uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;" (assignment_expression "uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30" identifier = (binary_expression "(uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30" (call_expression "(uint)((int)*pppppppuVar30 + 0xfefefeffU)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*pppppppuVar30 + 0xfefefeffU)" ( (binary_expression "(int)*pppppppuVar30 + 0xfefefeffU" (cast_expression "(int)*pppppppuVar30" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppppuVar30" * identifier)) + number_literal) ))) & (binary_expression "~(uint)*pppppppuVar30" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar39 = uVar20 & 0x80808080;" (assignment_expression "uVar39 = uVar20 & 0x80808080" identifier = (binary_expression "uVar20 & 0x80808080" identifier & number_literal)) ;) (expression_statement "pppppppuVar16 = pppppppuVar30 + 1;" (assignment_expression "pppppppuVar16 = pppppppuVar30 + 1" identifier = (binary_expression "pppppppuVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar39 == 0)" ( (binary_expression "uVar39 == 0" identifier == number_literal) )) ;) (expression_statement "bVar41 = (uVar20 & 0x8080) == 0;" (assignment_expression "bVar41 = (uVar20 & 0x8080) == 0" identifier = (binary_expression "(uVar20 & 0x8080) == 0" (parenthesized_expression "(uVar20 & 0x8080)" ( (binary_expression "uVar20 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                uVar39 = uVar39 >> 0x10;\n              }" { (expression_statement "uVar39 = uVar39 >> 0x10;" (assignment_expression "uVar39 = uVar39 >> 0x10" identifier = (binary_expression "uVar39 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }" { (expression_statement "pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);" (assignment_expression "pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar30 + 6)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar30 + 6)" ( (binary_expression "(int)pppppppuVar30 + 6" (cast_expression "(int)pppppppuVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar19 = -(int)local_bc;" (assignment_expression "iVar19 = -(int)local_bc" identifier = (unary_expression "-(int)local_bc" - (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b53f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b53f" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar15 = strlen(*(char **)(puVar35 + -0x10));" (assignment_expression "sVar15 = strlen(*(char **)(puVar35 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar35 + -0x10))" identifier (argument_list "(*(char **)(puVar35 + -0x10))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;" (assignment_expression "ppuVar25 = (undefined8 **)(undefined4 *******)local_cc" identifier = (cast_expression "(undefined8 **)(undefined4 *******)local_cc" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (do_statement "do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);" do (compound_statement "{\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              }" { (expression_statement "ppuVar24 = ppuVar25;" (assignment_expression "ppuVar24 = ppuVar25" identifier = identifier) ;) (expression_statement "uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;" (assignment_expression "uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24" identifier = (binary_expression "(int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24" (binary_expression "(int)*ppuVar24 + 0xfefefeffU" (cast_expression "(int)*ppuVar24" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar24" * identifier)) + number_literal) & (binary_expression "~(uint)*ppuVar24" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar20 = uVar32 & 0x80808080;" (assignment_expression "uVar20 = uVar32 & 0x80808080" identifier = (binary_expression "uVar32 & 0x80808080" identifier & number_literal)) ;) (expression_statement "ppuVar25 = ppuVar24 + 1;" (assignment_expression "ppuVar25 = ppuVar24 + 1" identifier = (binary_expression "ppuVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) ;) (expression_statement "bVar41 = (uVar32 & 0x8080) == 0;" (assignment_expression "bVar41 = (uVar32 & 0x8080) == 0" identifier = (binary_expression "(uVar32 & 0x8080) == 0" (parenthesized_expression "(uVar32 & 0x8080)" ( (binary_expression "uVar32 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                uVar20 = uVar20 >> 0x10;\n              }" { (expression_statement "uVar20 = uVar20 >> 0x10;" (assignment_expression "uVar20 = uVar20 >> 0x10" identifier = (binary_expression "uVar20 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }" { (expression_statement "ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);" (assignment_expression "ppuVar25 = (undefined8 **)((int)ppuVar24 + 6)" identifier = (cast_expression "(undefined8 **)((int)ppuVar24 + 6)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar24 + 6)" ( (binary_expression "(int)ppuVar24 + 6" (cast_expression "(int)ppuVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "*(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));" (assignment_expression "*(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" (pointer_expression "*(size_t *)(puVar35 + -0x10)" * (cast_expression "(size_t *)(puVar35 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39))" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuVar25" ( (type_descriptor "int" primitive_type) ) identifier)) + identifier) + (parenthesized_expression "(iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39))" ( (binary_expression "iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)" identifier - (cast_expression "(uint)CARRY1((byte)uVar39,(byte)uVar39)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar39,(byte)uVar39)" identifier (argument_list "((byte)uVar39,(byte)uVar39)" ( (cast_expression "(byte)uVar39" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar39" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal) + (parenthesized_expression "(-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" ( (binary_expression "-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20)" (unary_expression "-(int)(undefined4 *******)local_cc" - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) - (cast_expression "(uint)CARRY1((byte)uVar20,(byte)uVar20)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar20,(byte)uVar20)" identifier (argument_list "((byte)uVar20,(byte)uVar20)" ( (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )))) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b597;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b597" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)FUN_002465f0();" (assignment_expression "pppppppuVar16 = (undefined4 *******)FUN_002465f0()" identifier = (cast_expression "(undefined4 *******)FUN_002465f0()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_002465f0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "local_e4 = pppppppuVar16;" (assignment_expression "local_e4 = pppppppuVar16" identifier = identifier) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc" (pointer_expression "*(undefined4 ********)(puVar35 + -0xc)" * (cast_expression "(undefined4 ********)(puVar35 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x14) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x14) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x14)" * (cast_expression "(undefined4 *******)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x18)" * (cast_expression "(undefined4 ******)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (subscript_expression "ppppppuVar11[0x24]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;" (assignment_expression "*(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97" (pointer_expression "*(int *)(puVar35 + -0x1c)" * (cast_expression "(int *)(puVar35 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf97" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar35 + -0x20)" * (cast_expression "(undefined4 ********)(puVar35 + -0x20)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8b5c7" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));" (call_expression "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" identifier (argument_list "(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" ( (pointer_expression "*(char **)(puVar35 + -0x20)" * (cast_expression "(char **)(puVar35 + -0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0x1c)" * (cast_expression "(char **)(puVar35 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c10e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c10e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n                uVar39 = 0x20;\n              }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)local_a8[7] & 1) == 0)" ( (binary_expression "((uint)local_a8[7] & 1) == 0" (parenthesized_expression "((uint)local_a8[7] & 1)" ( (binary_expression "(uint)local_a8[7] & 1" (cast_expression "(uint)local_a8[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b624;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b624" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b624" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11)" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)ppppppuVar11)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)ppppppuVar11)" ( (binary_expression "(uVar39 - 1) + (int)ppppppuVar11" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" identifier = (cast_expression "(undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" ( (binary_expression "(uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)local_a8[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[0x1c] + (int)puVar23)" ( (binary_expression "(int)local_a8[0x1c] + (int)puVar23" (cast_expression "(int)local_a8[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);" (assignment_expression "local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" identifier = (binary_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (call_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1))" ( (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_a8[0x1c],(uint)puVar23)" identifier (argument_list "((uint)local_a8[0x1c],(uint)puVar23)" ( (cast_expression "(uint)local_a8[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)ppppppuVar11)" identifier (argument_list "(uVar39 - 1,(uint)ppppppuVar11)" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (cast_expression "(uint)ppppppuVar11" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) ))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[1];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[1]" identifier = (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);" (assignment_expression "local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" identifier = (cast_expression "(undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" ( (binary_expression "((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]" (parenthesized_expression "((int)local_ec - (int)ppppppuVar11)" ( (binary_expression "(int)local_ec - (int)ppppppuVar11" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) + (cast_expression "(int)((undefined4 *******)local_b4)[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[6]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);" (assignment_expression "local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" identifier = (binary_expression "((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" (parenthesized_expression "((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11))" ( (binary_expression "(local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)" (parenthesized_expression "(local_e8 - (int)local_a8[2])" ( (binary_expression "local_e8 - (int)local_a8[2]" identifier - (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) )) - (call_expression "(uint)(local_ec < ppppppuVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_ec < ppppppuVar11)" ( (binary_expression "local_ec < ppppppuVar11" identifier < identifier) )))) )) + (cast_expression "(uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" identifier (argument_list "((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" ( (binary_expression "(int)local_ec - (int)ppppppuVar11" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) , (subscript_expression "(uint)((undefined4 *******)local_b4)[6]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) )))))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0xd];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0xd]" identifier = (cast_expression "(undefined4 ******)local_a8[0xd]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xd]" identifier [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }" { (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[2];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[2]" identifier = (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar14 = ((undefined4 *******)local_b4)[5];" (assignment_expression "pppppuVar14 = ((undefined4 *******)local_b4)[5]" identifier = (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (if_statement "if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }" if (parenthesized_expression "((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14)" ( (binary_expression "(undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14" (cast_expression "(undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333)" ( (binary_expression "((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333" (parenthesized_expression "((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2)" ( (binary_expression "(int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2" (binary_expression "(int)pppppuVar26[0x38] - (int)pppppuVar26[0x37]" (cast_expression "(int)pppppuVar26[0x38]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x38]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar26[0x37]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x37]" identifier [ number_literal ]))) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4773f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c246;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c246" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" if (parenthesized_expression "((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40)" ( (binary_expression "*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40" (pointer_expression "*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" * (cast_expression "(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" ( (binary_expression "(int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb" (binary_expression "(int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14" (cast_expression "(int)pppppuVar26[0x37]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x37]" identifier [ number_literal ])) + (binary_expression "(int)pppppuVar14 * 0x14" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  pppppuVar34 = ppppppuVar11[8];\n                }" { (expression_statement "pppppuVar34 = ppppppuVar11[8];" (assignment_expression "pppppuVar34 = ppppppuVar11[8]" identifier = (subscript_expression "ppppppuVar11[8]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" else (compound_statement "{\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" { (expression_statement "pppppuVar34 = ppppppuVar11[7];" (assignment_expression "pppppuVar34 = ppppppuVar11[7]" identifier = (subscript_expression "ppppppuVar11[7]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }" if (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }" { (expression_statement "*(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;" (assignment_expression "*(int *)(puVar35 + -4) = (int)pppppuVar14 * 5" (pointer_expression "*(int *)(puVar35 + -4)" * (cast_expression "(int *)(puVar35 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = (binary_expression "(int)pppppuVar14 * 5" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x477bb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x372;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x372" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c3bb" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "ppppuVar17 = *pppppuVar26;" (assignment_expression "ppppuVar17 = *pppppuVar26" identifier = (pointer_expression "*pppppuVar26" * identifier)) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar35 + -0xc) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar35 + -0xc)" * (cast_expression "(undefined4 ******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" * (cast_expression "(undefined4 ******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppuVar6 = ppppuVar17[0x2a];" (assignment_expression "pppuVar6 = ppppuVar17[0x2a]" identifier = (subscript_expression "ppppuVar17[0x2a]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b915;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b915" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();" (assignment_expression "ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)()" identifier = (cast_expression "(undefined4 ****)(*(code *)pppuVar6)()" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)pppuVar6)()" (parenthesized_expression "(*(code *)pppuVar6)" ( (pointer_expression "*(code *)pppuVar6" * (cast_expression "(code *)pppuVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }) (else_clause "else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" else (compound_statement "{\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" { (if_statement "if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }" if (parenthesized_expression "(((uint)pppppuVar26[10] & 0xf) == 10)" ( (binary_expression "((uint)pppppuVar26[10] & 0xf) == 10" (parenthesized_expression "((uint)pppppuVar26[10] & 0xf)" ( (binary_expression "(uint)pppppuVar26[10] & 0xf" (cast_expression "(uint)pppppuVar26[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[10]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }" { (if_statement "if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;" if (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppuVar26 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2a)" * (cast_expression "(byte *)((int)pppppuVar26 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2a)" ( (binary_expression "(int)pppppuVar26 + 0x2a" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008b9a0;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }" if (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppuVar26 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2a)" * (cast_expression "(byte *)((int)pppppuVar26 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2a)" ( (binary_expression "(int)pppppuVar26 + 0x2a" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }" { (while_statement "while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }" { (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" * (cast_expression "(undefined4 ******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b982;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b982" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_000a7920();" (assignment_expression "cVar7 = FUN_000a7920()" identifier = (call_expression "FUN_000a7920()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') break;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "pppppuVar34 = ppppppuVar11[7];" (assignment_expression "pppppuVar34 = ppppppuVar11[7]" identifier = (subscript_expression "ppppppuVar11[7]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;" if (parenthesized_expression "(pppppuVar34 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008b6e1;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8b99d;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8b99d" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00051cf0();" (call_expression "FUN_00051cf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)0x0;" (assignment_expression "ppppppuVar11 = (undefined4 ******)0x0" identifier = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (labeled_statement "LAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;" statement_identifier : (if_statement "if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;" if (parenthesized_expression "((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0))))" ( (binary_expression "(((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))" (parenthesized_expression "(((uint)pppppuVar26[2][0xb] & 1) != 0)" ( (binary_expression "((uint)pppppuVar26[2][0xb] & 1) != 0" (parenthesized_expression "((uint)pppppuVar26[2][0xb] & 1)" ( (binary_expression "(uint)pppppuVar26[2][0xb] & 1" (cast_expression "(uint)pppppuVar26[2][0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2][0xb]" (subscript_expression "pppppuVar26[2]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) != number_literal) )) || (parenthesized_expression "((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))" ( (parenthesized_expression "(pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0))" ( (binary_expression "pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)" (binary_expression "pppppuVar26[3] == (undefined4 ****)0x0" (subscript_expression "pppppuVar26[3]" identifier [ number_literal ]) == (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) && (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)pppppuVar26 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2b)" * (cast_expression "(byte *)((int)pppppuVar26 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2b)" ( (binary_expression "(int)pppppuVar26 + 0x2b" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (break_statement "break;" break ;))) })) })) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "pppppuVar34 = ppppppuVar11[6];" (assignment_expression "pppppuVar34 = ppppppuVar11[6]" identifier = (subscript_expression "ppppppuVar11[6]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x36a;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x36a" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c2e9" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0008b6e1:\n                ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "ppppuVar17 = pppppuVar26[6];" (assignment_expression "ppppuVar17 = pppppuVar26[6]" identifier = (subscript_expression "pppppuVar26[6]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0xffffffff)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0xffffffff" identifier == (cast_expression "(undefined4 ****)0xffffffff" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477c1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11d0d2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c12f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c12f" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "uVar39 = local_f0;" (assignment_expression "uVar39 = local_f0" identifier = identifier) ;) (if_statement "if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)pppppuVar34[7] & 1) == 0)" ( (binary_expression "((uint)pppppuVar34[7] & 1) == 0" (parenthesized_expression "((uint)pppppuVar34[7] & 1)" ( (binary_expression "(uint)pppppuVar34[7] & 1" (cast_expression "(uint)pppppuVar34[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar34[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c150;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c150" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0xd];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0xd]" identifier = (cast_expression "(undefined4 ******)local_a8[0xd]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xd]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }" if (parenthesized_expression "(ppppppuVar11[5] == (undefined4 *****)0x0)" ( (binary_expression "ppppppuVar11[5] == (undefined4 *****)0x0" (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ]) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4780e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x3ae;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x3ae" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c171;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c171" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppuVar5 = ppppppuVar11[5][8];" (assignment_expression "ppppuVar5 = ppppppuVar11[5][8]" identifier = (subscript_expression "ppppppuVar11[5][8]" (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ]) [ number_literal ])) ;) (if_statement "if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)ppppuVar5[7] & 1) == 0)" ( (binary_expression "((uint)ppppuVar5[7] & 1) == 0" (parenthesized_expression "((uint)ppppuVar5[7] & 1)" ( (binary_expression "(uint)ppppuVar5[7] & 1" (cast_expression "(uint)ppppuVar5[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar5[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c012;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c012" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = -(int)ppppuVar5[1];" (assignment_expression "iVar19 = -(int)ppppuVar5[1]" identifier = (unary_expression "-(int)ppppuVar5[1]" - (cast_expression "(int)ppppuVar5[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar5[1]" identifier [ number_literal ])))) ;) (expression_statement "pppppuVar26 = ppppppuVar11[0x2c];" (assignment_expression "pppppuVar26 = ppppppuVar11[0x2c]" identifier = (subscript_expression "ppppppuVar11[0x2c]" identifier [ number_literal ])) ;) (expression_statement "uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;" (assignment_expression "uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10" identifier = (binary_expression "(uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10" (call_expression "(uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19)" ( (binary_expression "(int)pppppuVar34[1] + (int)ppppuVar17 + iVar19" (binary_expression "(int)pppppuVar34[1] + (int)ppppuVar17" (cast_expression "(int)pppppuVar34[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[1]" identifier [ number_literal ])) + (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier)) + identifier) ))) >> number_literal)) ;) (expression_statement "uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;" (assignment_expression "uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc" identifier = (binary_expression "-(uint)(uVar20 == 0) & 0xfffffffc" (unary_expression "-(uint)(uVar20 == 0)" - (call_expression "(uint)(uVar20 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )))) & number_literal)) ;) (expression_statement "iVar22 = uVar32 + 0x14;" (assignment_expression "iVar22 = uVar32 + 0x14" identifier = (binary_expression "uVar32 + 0x14" identifier + number_literal)) ;) (if_statement "if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }" if (parenthesized_expression "((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]))))" ( (binary_expression "(ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))" (parenthesized_expression "(ppppppuVar11[0x2d] != (undefined4 *****)0x0)" ( (binary_expression "ppppppuVar11[0x2d] != (undefined4 *****)0x0" (subscript_expression "ppppppuVar11[0x2d]" identifier [ number_literal ]) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))" ( (parenthesized_expression "(((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]))" ( (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])" (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26" (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) == (cast_expression "(undefined4 ******)pppppuVar26" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) || (parenthesized_expression "(((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])" ( (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]" (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) == (cast_expression "(undefined4 ******)ppppppuVar11[0x2d]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[0x2d]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n                iVar22 = uVar32 + 0x48;\n              }" { (expression_statement "iVar22 = uVar32 + 0x48;" (assignment_expression "iVar22 = uVar32 + 0x48" identifier = (binary_expression "uVar32 + 0x48" identifier + number_literal)) ;) })) (expression_statement "pppppuVar14 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)ppppppuVar11[2] & 2) == 0)" ( (binary_expression "((uint)ppppppuVar11[2] & 2) == 0" (parenthesized_expression "((uint)ppppppuVar11[2] & 2)" ( (binary_expression "(uint)ppppppuVar11[2] & 2" (cast_expression "(uint)ppppppuVar11[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar11[2]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }" { (if_statement "if (pppppuVar14 == (undefined4 *****)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }" if (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }" { comment comment (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c225;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c225" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;" (assignment_expression "iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4" identifier = (binary_expression "(*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4" (parenthesized_expression "(*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2)" ( (binary_expression "*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2" (binary_expression "*(byte *)((int)pppppuVar14 + 0x2bdd) + 1" (pointer_expression "*(byte *)((int)pppppuVar14 + 0x2bdd)" * (cast_expression "(byte *)((int)pppppuVar14 + 0x2bdd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x2bdd)" ( (binary_expression "(int)pppppuVar14 + 0x2bdd" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) + (binary_expression "(uint)*(byte *)(ppppppuVar11 + 0x27) * 2" (binary_expression "(uint)*(byte *)(ppppppuVar11 + 0x27)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(ppppppuVar11 + 0x27)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar11 + 0x27)" ( (binary_expression "ppppppuVar11 + 0x27" identifier + number_literal) )))) * number_literal)) )) * number_literal)) ;) (if_statement "if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }" if (parenthesized_expression "(uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10)" ( (binary_expression "uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10" identifier != (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17" (cast_expression "(int)pppppuVar34[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[1]" identifier [ number_literal ])) + (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8" (binary_expression "(uint)*(byte *)((int)pppppuVar14 + 0x2bdd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppuVar14 + 0x2bdd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x2bdd)" ( (binary_expression "(int)pppppuVar14 + 0x2bdd" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) + identifier) + number_literal) >> number_literal)) )) (compound_statement "{\n                  iVar12 = iVar12 + 4;\n                }" { (expression_statement "iVar12 = iVar12 + 4;" (assignment_expression "iVar12 = iVar12 + 4" identifier = (binary_expression "iVar12 + 4" identifier + number_literal)) ;) })) (expression_statement "iVar22 = iVar22 + iVar12;" (assignment_expression "iVar22 = iVar22 + iVar12" identifier = (binary_expression "iVar22 + iVar12" identifier + identifier)) ;) }) (else_clause "else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" else (if_statement "if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" if (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b886;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b886" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b886" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })))) (if_statement "if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" if (parenthesized_expression "(*(char *)(pppppuVar14 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar14 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar14 + 0xac7)" * (cast_expression "(char *)(pppppuVar14 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar14 + 0xac7)" ( (binary_expression "pppppuVar14 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }" { (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" else (compound_statement "{\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" { (expression_statement "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar14[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar14[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar14[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar14[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar14[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar20 = -iVar19;" (assignment_expression "uVar20 = -iVar19" identifier = (unary_expression "-iVar19" - identifier)) ;) }))) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" * (cast_expression "(undefined4 *)(puVar35 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = local_f4;" (assignment_expression "ppppppuVar31 = local_f4" identifier = identifier) ;) (expression_statement "*(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;" (assignment_expression "*(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f" (pointer_expression "*(uint *)(puVar35 + -0xc)" * (cast_expression "(uint *)(puVar35 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "uVar39 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;" (assignment_expression "*(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19" (pointer_expression "*(uint *)(puVar35 + -0x24)" * (cast_expression "(uint *)(puVar35 + -0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = (binary_expression "uVar20 & iVar22 + -1 + iVar19" identifier & (binary_expression "iVar22 + -1 + iVar19" (binary_expression "iVar22 + -1" identifier + number_literal) + identifier))) ;) (expression_statement "*(uint *)(puVar35 + -0x28) = uVar39;" (assignment_expression "*(uint *)(puVar35 + -0x28) = uVar39" (pointer_expression "*(uint *)(puVar35 + -0x28)" * (cast_expression "(uint *)(puVar35 + -0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x2c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x2c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x30)" * (cast_expression "(undefined4 *******)(puVar35 + -0x30)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x30)" ( (binary_expression "puVar35 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" * (cast_expression "(undefined4 *)(puVar35 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x34)" ( (binary_expression "puVar35 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" * (cast_expression "(undefined4 *)(puVar35 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x38)" ( (binary_expression "puVar35 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = local_e4;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = local_e4" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x3c)" ( (binary_expression "puVar35 + -0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" * (cast_expression "(undefined4 *)(puVar35 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x40)" ( (binary_expression "puVar35 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b81a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b81a" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" * (cast_expression "(undefined4 *)(puVar35 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x44)" ( (binary_expression "puVar35 + -0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" identifier = (call_expression "FUN_001e98f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1)" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + 1)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + 1)" ( (binary_expression "(int)(undefined4 *******)local_dc + 1" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + number_literal) )))) ;) }) while (parenthesized_expression "((undefined4 *******)local_dc < ppppppuVar11[0x11])" ( (binary_expression "(undefined4 *******)local_dc < ppppppuVar11[0x11]" (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) < (subscript_expression "ppppppuVar11[0x11]" identifier [ number_literal ])) )) ;) })) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_f8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_f8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b84e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b84e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);" (assignment_expression "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier = (call_expression "CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier (argument_list "(local_dc._4_4_,(undefined4 *******)local_dc)" ( (field_expression "local_dc._4_4_" identifier . field_identifier) , (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )))) ;) })) (expression_statement "local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);" (assignment_expression "local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20)" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)((ulonglong)lVar45 >> 0x20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((ulonglong)lVar45 >> 0x20)" ( (binary_expression "(ulonglong)lVar45 >> 0x20" (cast_expression "(ulonglong)lVar45" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[0x17];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[0x17]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[0x17]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[0x17]" identifier [ number_literal ]))) ;) (if_statement "if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }" if (parenthesized_expression "((undefined4 *******)local_b4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }" { (expression_statement "local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82)" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)local_ac + -0x11cf82)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_ac + -0x11cf82)" ( (binary_expression "(int)local_ac + -0x11cf82" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);" do (compound_statement "{\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          }" { (expression_statement "ppppppuVar31 = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }" if (parenthesized_expression "(*(char *)((undefined4 *******)local_b4 + 4) == '\0')" ( (binary_expression "*(char *)((undefined4 *******)local_b4 + 4) == '\0'" (pointer_expression "*(char *)((undefined4 *******)local_b4 + 4)" * (cast_expression "(char *)((undefined4 *******)local_b4 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_b4 + 4)" ( (binary_expression "(undefined4 *******)local_b4 + 4" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }" { (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0x26;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0x26" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b00a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b00a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)FUN_002465f0();" (assignment_expression "pppppppuVar10 = (undefined4 *******)FUN_002465f0()" identifier = (cast_expression "(undefined4 *******)FUN_002465f0()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_002465f0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" * (cast_expression "(undefined4 ******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x14)" * (cast_expression "(undefined4 ******)(puVar35 + -0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "local_bc = pppppppuVar10;" (assignment_expression "local_bc = pppppppuVar10" identifier = identifier) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x18)" * (cast_expression "(undefined4 ******)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (subscript_expression "local_a8[0x24]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x20)" * (cast_expression "(undefined4 ********)(puVar35 + -0x20)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8b02f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8b02f" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));" (call_expression "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" identifier (argument_list "(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" ( (pointer_expression "*(char **)(puVar35 + -0x20)" * (cast_expression "(char **)(puVar35 + -0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0x1c)" * (cast_expression "(char **)(puVar35 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c0f0" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n                uVar39 = 0x20;\n              }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)local_a8[7] & 1) == 0)" ( (binary_expression "((uint)local_a8[7] & 1) == 0" (parenthesized_expression "((uint)local_a8[7] & 1)" ( (binary_expression "(uint)local_a8[7] & 1" (cast_expression "(uint)local_a8[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b090;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b090" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31)" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)ppppppuVar31)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)ppppppuVar31)" ( (binary_expression "(uVar39 - 1) + (int)ppppppuVar31" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;" (assignment_expression "local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" identifier = (binary_expression "(uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)local_a8[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[0x1c] + (int)puVar23)" ( (binary_expression "(int)local_a8[0x1c] + (int)puVar23" (cast_expression "(int)local_a8[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier))) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[5];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[5]" identifier = (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);" (assignment_expression "local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" identifier = (binary_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (call_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1))" ( (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_a8[0x1c],(uint)puVar23)" identifier (argument_list "((uint)local_a8[0x1c],(uint)puVar23)" ( (cast_expression "(uint)local_a8[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)ppppppuVar31)" identifier (argument_list "(uVar39 - 1,(uint)ppppppuVar31)" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) ))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;" (assignment_expression "uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31" identifier = (binary_expression "(int)local_a8[0x1d] - (int)ppppppuVar31" (cast_expression "(int)local_a8[0x1d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1d]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar20 = uVar39 + local_d4;" (assignment_expression "uVar20 = uVar39 + local_d4" identifier = (binary_expression "uVar39 + local_d4" identifier + identifier)) ;) (expression_statement "iVar19 = uVar20 + (int)pppppuVar26;" (assignment_expression "iVar19 = uVar20 + (int)pppppuVar26" identifier = (binary_expression "uVar20 + (int)pppppuVar26" identifier + (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);" (assignment_expression "uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26)" identifier = (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26)" (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4)" (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0" (parenthesized_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2])" ( (binary_expression "-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]" (unary_expression "-(uint)(local_a8[0x1d] < ppppppuVar31)" - (call_expression "(uint)(local_a8[0x1d] < ppppppuVar31)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_a8[0x1d] < ppppppuVar31)" ( (binary_expression "local_a8[0x1d] < ppppppuVar31" (subscript_expression "local_a8[0x1d]" identifier [ number_literal ]) < identifier) )))) - (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) )) + identifier) + (cast_expression "(uint)CARRY4(uVar39,local_d4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39,local_d4)" identifier (argument_list "(uVar39,local_d4)" ( identifier , identifier ))))) + (cast_expression "(uint)CARRY4(uVar20,(uint)pppppuVar26)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20,(uint)pppppuVar26)" identifier (argument_list "(uVar20,(uint)pppppuVar26)" ( identifier , (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (expression_statement "uVar39 = 0x2000000 - (int)local_a8[0x1e];" (assignment_expression "uVar39 = 0x2000000 - (int)local_a8[0x1e]" identifier = (binary_expression "0x2000000 - (int)local_a8[0x1e]" number_literal - (cast_expression "(int)local_a8[0x1e]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1e]" identifier [ number_literal ])))) ;) (expression_statement "uVar20 = uVar39 - local_d4;" (assignment_expression "uVar20 = uVar39 - local_d4" identifier = (binary_expression "uVar39 - local_d4" identifier - identifier)) ;) (expression_statement "pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1])" identifier = (cast_expression "(undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1])" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar20 + (int)((undefined4 *******)local_b4)[1])" ( (binary_expression "uVar20 + (int)((undefined4 *******)local_b4)[1]" identifier + (cast_expression "(int)((undefined4 *******)local_b4)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));" (assignment_expression "iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" identifier = (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" (cast_expression "(int)((undefined4 *******)local_b4)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (parenthesized_expression "(((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" ( (binary_expression "((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26)" (parenthesized_expression "((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4)))" ( (binary_expression "(uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))" (cast_expression "(uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1])" identifier (argument_list "(uVar20,(uint)((undefined4 *******)local_b4)[1])" ( identifier , (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) )))) + (parenthesized_expression "((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))" ( (binary_expression "(-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4)" (parenthesized_expression "(-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e]))" ( (binary_expression "-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])" (unary_expression "-local_d0" - identifier) - (call_expression "(uint)((undefined4 ******)0x2000000 < local_a8[0x1e])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 ******)0x2000000 < local_a8[0x1e])" ( (binary_expression "(undefined4 ******)0x2000000 < local_a8[0x1e]" (cast_expression "(undefined4 ******)0x2000000" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) < (subscript_expression "local_a8[0x1e]" identifier [ number_literal ])) )))) )) - (call_expression "(uint)(uVar39 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 < local_d4)" ( (binary_expression "uVar39 < local_d4" identifier < identifier) )))) ))) )) - (call_expression "(uint)(pppppuVar14 < pppppuVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppuVar14 < pppppuVar26)" ( (binary_expression "pppppuVar14 < pppppuVar26" identifier < identifier) )))) )))) ;) (expression_statement "uVar9 = 4;" (assignment_expression "uVar9 = 4" identifier = number_literal) ;) (if_statement "if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }" if (parenthesized_expression "(iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26)))" ( (binary_expression "iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (binary_expression "iVar22 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (binary_expression "(uint)-iVar22" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" ( (binary_expression "0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26)" number_literal < (call_expression "(uint)((int)pppppuVar14 - (int)pppppuVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppuVar14 - (int)pppppuVar26)" ( (binary_expression "(int)pppppuVar14 - (int)pppppuVar26" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))))) )) (compound_statement "{\n                uVar9 = 0x10;\n              }" { (expression_statement "uVar9 = 0x10;" (assignment_expression "uVar9 = 0x10" identifier = number_literal) ;) })) (expression_statement "local_cc._0_4_ = (undefined4 *******)iVar19;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)iVar19" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)iVar19" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_cc._4_4_ = (undefined4 *****)uVar32;" (assignment_expression "local_cc._4_4_ = (undefined4 *****)uVar32" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)uVar32" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" * (cast_expression "(undefined4 *)(puVar35 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;" (assignment_expression "*(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f" (pointer_expression "*(uint *)(puVar35 + -0xc)" * (cast_expression "(uint *)(puVar35 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "uVar32 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar35 + -0x28) = uVar32;" (assignment_expression "*(uint *)(puVar35 + -0x28) = uVar32" (pointer_expression "*(uint *)(puVar35 + -0x28)" * (cast_expression "(uint *)(puVar35 + -0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0x2c) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x2c) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x2c)" * (cast_expression "(int *)(puVar35 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x30) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x30) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x30)" * (cast_expression "(undefined4 *******)(puVar35 + -0x30)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x30)" ( (binary_expression "puVar35 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" * (cast_expression "(undefined4 *)(puVar35 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x34)" ( (binary_expression "puVar35 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" * (cast_expression "(undefined4 *)(puVar35 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x38)" ( (binary_expression "puVar35 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x3c)" ( (binary_expression "puVar35 + -0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" * (cast_expression "(undefined4 *)(puVar35 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x40)" ( (binary_expression "puVar35 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b31a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b31a" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" * (cast_expression "(undefined4 *)(puVar35 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x44)" ( (binary_expression "puVar35 + -0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" identifier = (call_expression "FUN_001e98f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)*(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*(undefined4 *******)local_b4" * (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)))) ;) (expression_statement "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);" (assignment_expression "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier = (call_expression "CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier (argument_list "(local_dc._4_4_,(undefined4 *******)local_dc)" ( (field_expression "local_dc._4_4_" identifier . field_identifier) , (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )))) ;) }) while (parenthesized_expression "((undefined4 *******)local_b4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) ;) })) (expression_statement "local_dc = lVar45;" (assignment_expression "local_dc = lVar45" identifier = identifier) ;) (expression_statement "local_104 = local_104 + 1;" (assignment_expression "local_104 = local_104 + 1" identifier = (binary_expression "local_104 + 1" identifier + number_literal)) ;) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;) }) while (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != local_104)" ( (binary_expression "*(undefined4 **)(param_1 + 0x50) != local_104" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "iVar19 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x28)" identifier = (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) ))))) ;) (if_statement "if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }" { (expression_statement "uVar9 = 0x2c;" (assignment_expression "uVar9 = 0x2c" identifier = number_literal) ;) (if_statement "if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }" if (parenthesized_expression "((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2)" ( (binary_expression "*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2" (pointer_expression "*(byte *)(*(int *)(iVar19 + 0x2c) + 8)" * (cast_expression "(byte *)(*(int *)(iVar19 + 0x2c) + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x2c) + 8)" ( (binary_expression "*(int *)(iVar19 + 0x2c) + 8" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar9 = 0x38;\n      }" { (expression_statement "uVar9 = 0x38;" (assignment_expression "uVar9 = 0x38" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" * (cast_expression "(undefined4 *)(puVar35 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x28) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x28) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x28)" * (cast_expression "(undefined4 *)(puVar35 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x2c) = 8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x2c) = 8" (pointer_expression "*(undefined4 *)(puVar35 + -0x2c)" * (cast_expression "(undefined4 *)(puVar35 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x30) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x30) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x30)" * (cast_expression "(int *)(puVar35 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x30)" ( (binary_expression "puVar35 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" * (cast_expression "(undefined4 *)(puVar35 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x34)" ( (binary_expression "puVar35 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" * (cast_expression "(undefined4 *)(puVar35 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x38)" ( (binary_expression "puVar35 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x3c)" ( (binary_expression "puVar35 + -0x3c" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x473db" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" * (cast_expression "(undefined4 *)(puVar35 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x40)" ( (binary_expression "puVar35 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b3a7" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" * (cast_expression "(undefined4 *)(puVar35 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x44)" ( (binary_expression "puVar35 + -0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" identifier = (call_expression "FUN_001e98f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) })) })) (labeled_statement "LAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_10c;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_10c" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ad0e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000a91a0();" (call_expression "FUN_000a91a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return (uint)local_fc & 0xff;" return (binary_expression "(uint)local_fc & 0xff" (cast_expression "(uint)local_fc" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ;) })))
(ERROR "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "STB": Some values do not have unique names */\n/* WARNING: Enum "STT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: bool do_relax(Target_powerpc<64,_false> * this, int pass, Input_objects\n   * param_2, Symbol_table * symtab, Layout * layout, Task * task) */\n\nbool __thiscall\nanon_unknown.dwarf_2af53c::Target_powerpc<64,_false>::do_relax\n          (Target_powerpc<64,_false> *this,int pass,Input_objects *param_2,Symbol_table *symtab,\n          Layout *layout,Task *task)\n\n{\n  Input_file **ppIVar1;\n  uint64_t *puVar2;\n  string *psVar3;\n  byte *pbVar4;\n  Parameters **ppPVar5;\n  vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> *pvVar6;\n  size_type *psVar7;\n  char cVar8;\n  Xindex *pXVar9;\n  Output_data_save_res<64,_false> *pOVar10;\n  _func_int_varargs **pp_Var11;\n  code *pcVar12;\n  Stub_table<64,_false> *pSVar13;\n  float fVar14;\n  __bucket_type p_Var15;\n  Compute_final_value_status CVar16;\n  Timer *pTVar17;\n  uint *puVar18;\n  pointer ppOVar19;\n  vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *pvVar20;\n  Errors *pEVar21;\n  pointer puVar22;\n  General_options *pGVar23;\n  pointer pOVar24;\n  _func_int_varargs *p_Var25;\n  _Hash_node_base *p_Var26;\n  pointer pSVar27;\n  Output_data_glink<64,_false> *pOVar28;\n  Target *pTVar29;\n  longlong lVar30;\n  Address AVar31;\n  Sized_relobj<64,_false> *pSVar32;\n  __node_base _Var33;\n  Address AVar34;\n  uint *puVar35;\n  undefined1 uVar36;\n  uint uVar37;\n  pointer puVar38;\n  pointer ppSVar39;\n  Powerpc_relobj<64,_false> *pPVar40;\n  undefined3 extraout_var;\n  char *format;\n  __node_base *p_Var41;\n  Symbol *pSVar42;\n  Target_powerpc<64,_false> *pTVar43;\n  Compute_final_local_value_status CVar44;\n  Output_section *pOVar45;\n  pointer pOVar46;\n  int iVar47;\n  Relobj *pRVar48;\n  Parameters *pPVar49;\n  void *pvVar50;\n  General_options *pGVar51;\n  _Hash_node_base *p_Var52;\n  undefined4 uVar53;\n  Symbol *pSVar54;\n  undefined4 *puVar55;\n  undefined4 *puVar56;\n  size_t sVar57;\n  char *pcVar58;\n  int iVar59;\n  uint uVar60;\n  uchar *puVar61;\n  _Hash_node_base *p_Var62;\n  pointer pcVar63;\n  Powerpc_relobj<64,_false> *pPVar64;\n  undefined1 *puVar65;\n  __node_gen_type *p_Var66;\n  __node_gen_type *p_Var67;\n  _Hash_node_base *p_Var68;\n  __bucket_type *pp_Var69;\n  byte bVar70;\n  pointer puVar71;\n  pointer ppSVar72;\n  size_type sVar73;\n  pointer puVar74;\n  uint uVar75;\n  int iVar76;\n  undefined **unaff_EBX;\n  pointer puVar77;\n  uint uVar78;\n  uint uVar79;\n  Output_data_plt_powerpc<64,_false> *pOVar80;\n  size_t *psVar81;\n  size_t *psVar82;\n  size_t *psVar83;\n  uint uVar84;\n  int *piVar85;\n  _Hash_node_base *p_Var86;\n  Output_data_brlt_powerpc<64,_false> *pOVar87;\n  Target *pTVar88;\n  _Hash_node_base *p_Var89;\n  Compute_final_value_status *pCVar90;\n  Compute_final_value_status *pCVar91;\n  bool bVar92;\n  Value_type VVar93;\n  Address AVar94;\n  Value VVar95;\n  undefined8 uVar96;\n  off_t oVar97;\n  longlong lVar98;\n  uchar auStack_18c [48];\n  Target_powerpc<64,_false> *in_stack_fffffeb4;\n  Layout *in_stack_fffffeb8;\n  Task *in_stack_fffffebc;\n  undefined4 in_stack_fffffec0;\n  uint local_130;\n  size_type *local_12c;\n  bool local_121;\n  size_type local_120;\n  Powerpc_relobj<64,_false> *local_110;\n  Output_sections *local_10c;\n  Powerpc_relobj<64,_false> *local_108;\n  pointer local_104;\n  bool local_fc;\n  _Hash_node_base *local_f4;\n  uint local_e4;\n  uint local_dc;\n  pointer local_cc;\n  uint local_c8;\n  uint local_c4;\n  uint local_c0;\n  Compute_final_value_status *local_bc;\n  int local_b8;\n  Powerpc_relobj<64,_false> *local_b4;\n  int local_b0;\n  undefined **local_ac;\n  pointer local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  uint *local_90;\n  Powerpc_relobj<64,_false> *local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  char localname [9];\n  __node_gen_type __node_gen;\n  Output_sections os_need_update;\n  Compute_final_value_status status;\n  Powerpc_relobj<64,_false> *local_3c;\n  int local_38;\n  Powerpc_relobj<64,_false> *local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  _Hash_node_base *local_24;\n  _Hash_node_base *local_20;\n  \n  uVar36 = (undefined1)in_stack_fffffec0;\n  psVar82 = (size_t *)&stack0xfffffeb4;\n  if (pass == 1) {\n    pGVar51 = gold::parameters->options_;\n    if ((this->field_0x8 & 2) == 0) {\n      if (pGVar51 == (General_options *)0x0) goto LAB_0008c0b4;\n      bVar92 = (pGVar51->plt_thread_safe_).value;\n      if (((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&\n         (bVar92 = (pGVar51->shared_).value, bVar92 == false)) {\n        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1\n                            ::thread_starter;\n        pcVar58 = "pthread_create";\n        while( true ) {\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }\n        pGVar51 = gold::parameters->options_;\n        bVar92 = false;\n        goto LAB_0008b0b0;\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      this->plt_thread_safe_ = bVar92;\n      if (iVar59 != 1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      this->stub_group_size_ = 0x1c00000;\n    }\n    else {\n      bVar92 = false;\nLAB_0008b0b0:\n      this->plt_thread_safe_ = bVar92;\n      psVar82 = (size_t *)&stack0xfffffeb4;\n      if (pGVar51 == (General_options *)0x0) {\nLAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      if (iVar59 == 1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (iVar59 == -1) {\n        this->stub_group_size_ = -0x1e00000;\n      }\n      else {\n        this->stub_group_size_ = iVar59;\n      }\n    }\n    group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);\n    local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n               ._M_impl._M_start;\n    if ((this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n        ._M_impl._M_finish != local_cc) goto LAB_00088eb5;\n    local_120 = 0;\nLAB_0008b10a:\n    local_110 = (Powerpc_relobj<64,_false> *)0x0;\n    iVar59 = 0;\n    this->relax_failed_ = false;\n  }\n  else {\n    if ((this->relax_failed_ != false) && (this->relax_fail_count_ < 3)) {\n      std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_);\n      uVar36 = (undefined1)in_stack_fffffec0;\n      ppSVar39 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n      if (ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish) {\n        do {\n          pSVar13 = *ppSVar39;\n          ppSVar39 = ppSVar39 + 1;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          pSVar13->plt_size_ = 0;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          pSVar13->branch_size_ = 0;\n          pSVar13->need_save_res_ = false;\n          pSVar13->last_plt_size_ = 0;\n          pSVar13->last_branch_size_ = 0;\n        } while ((this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39);\n        ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_start;\n        if (ppSVar39 != ppSVar72) {\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;\n        }\n      }\n      local_ac = &_GLOBAL_OFFSET_TABLE_;\n      iVar59 = this->stub_group_size_;\n      iVar47 = iVar59 + 3;\n      if (-1 < iVar59) {\n        iVar47 = iVar59;\n      }\n      iVar59 = (iVar47 >> 2) * 3;\n      this->stub_group_size_ = iVar59;\n      pcVar58 = gold::program_name;\n      format = (char *)gettext("%s: stub group size is too large; retrying with %#x");\n      gold::gold_info(format,pcVar58,iVar59);\n      group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);\n      unaff_EBX = local_ac;\n    }\n    local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n               ._M_impl._M_start;\n    if ((this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n        ._M_impl._M_finish == local_cc) {\nLAB_00089837:\n      local_120 = (this->branch_lookup_table_)._M_h._M_element_count;\n      std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_);\n      ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n      if (ppSVar72 ==\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish) goto LAB_0008b10a;\n      do {\n        unaff_EBX = (undefined **)*ppSVar72;\n        ppSVar72 = ppSVar72 + 1;\n        std::\n        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n        ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)in_stack_fffffeb4);\n        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count = 0;\n        std::\n        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n        ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)in_stack_fffffeb4);\n        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize = 0;\n        *(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_end_of_storage = false;\n        ppSVar39 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_finish;\n      } while (ppSVar39 != ppSVar72);\n      ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n    }\n    else {\nLAB_00088eb5:\n      psVar83 = (size_t *)&stack0xfffffeb4;\n      puVar56 = (undefined4 *)&stack0xfffffeb4;\n      psVar82 = (size_t *)&stack0xfffffeb4;\n      unaff_EBX = (undefined **)*local_cc;\n      iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c;\n      pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n               super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;\n      iVar47 = *(int *)(iVar59 + 0x84);\n      psVar81 = (size_t *)&stack0xfffffeb4;\n      if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) {\nLAB_0008bf9d:\n        *(char **)((int)psVar81 + -8) = "get_output_section_offset";\n        *(undefined4 *)((int)psVar81 + -0xc) = 0x7f7;\n        *(char **)((int)psVar81 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar81 + -0x14) = 0x8bfbe;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                   *(char **)((int)psVar81 + -8));\n      }\n      uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);\n      uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);\n      uVar37 = uVar84 & uVar60;\n      while( true ) {\n        if (uVar37 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax");\n        }\n        local_cc = local_cc + 1;\n        local_b8 = 0;\n        iVar59 = (int)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_;\n        p_Var89 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_before_begin._M_nxt;\n        local_c4 = (int)&p_Var89->_M_nxt + uVar60;\n        local_c0 = uVar84 + CARRY4((uint)p_Var89,uVar60);\n        local_bc = (Compute_final_value_status *)\n                   ((((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                    _M_next_resize +\n                   (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count);\n        if (*(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.section_offsets_.\n                      super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                      ._M_impl._M_end_of_storage != false) {\n          pOVar10 = ((Target_powerpc<64,_false> *)\n                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->\n                    savres_section_;\n          if ((pOVar10->field_0x1c & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n          bVar92 = CARRY4((uint)local_bc,*(uint *)&pOVar10->field_0xc);\n          local_bc = (Compute_final_value_status *)((int)local_bc + *(uint *)&pOVar10->field_0xc);\n          local_b8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;\n        }\n        if (local_b8 != 0 || local_bc != (Compute_final_value_status *)0x0) {\n          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;\n          uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n          if (uVar37 < 0x20) {\n            uVar37 = 0x20;\n          }\n          bVar92 = CARRY4(uVar37 - 1,local_c4);\n          local_c4 = (uVar37 - 1) + local_c4 & -uVar37;\n          local_c0 = ((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0);\n        }\n        puVar77 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_start;\n        puVar74 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_finish;\n        puVar38 = (pointer)(((int)local_bc - uVar60) + local_c4);\n        puVar71 = (pointer)(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - uVar60,local_c4));\n        if (puVar74 < puVar71 || (uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38)) {\n          puVar77 = puVar38;\n          puVar74 = puVar71;\n        }\n        bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                           super_Relobj.super_Object.input_file_;\n        *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n             bVar70 & 0xfa;\n        if ((bVar70 & 8) == 0) {\n          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8;\n        }\n        else if ((bVar70 & 2) != 0) goto LAB_0008b9d8;\n        bVar70 = *(byte *)(iVar59 + 0x1c);\n        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity\n             = (size_type)puVar77;\n        *(pointer *)\n         ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = puVar74\n        ;\n        if ((bVar70 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        uVar37 = *(uint *)(iVar59 + 0x14);\n        iVar47 = *(int *)(iVar59 + 0x18);\n        psVar81 = (size_t *)&stack0xfffffeb4;\n        if ((bVar70 & 1) == 0) goto LAB_0008bf5b;\n        uVar75 = *(uint *)(iVar59 + 4);\n        uVar78 = *(uint *)(iVar59 + 4);\n        iVar76 = *(int *)(iVar59 + 8);\n        *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8) =\n             uVar60 + *(uint *)(iVar59 + 0x14);\n        pPVar49 = (Parameters *)\n                  (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;\n        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n             (pointer)(uVar60 + uVar78);\n        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =\n             uVar84 + iVar76 + (uint)CARRY4(uVar60,uVar75);\n        *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 0xc) =\n             uVar84 + iVar47 + (uint)CARRY4(uVar60,uVar37);\n        ppIVar1 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;\n        *(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;\n        (*(code *)pPVar49[1].incremental_mode_)(unaff_EBX);\n        if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)\n        goto LAB_0008c197;\n        ppSVar39 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_finish;\n        if (ppSVar39 == local_cc) break;\n        unaff_EBX = (undefined **)*local_cc;\n        iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object.field_0x2c;\n        pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;\n        iVar47 = *(int *)(iVar59 + 0x84);\n        psVar81 = (size_t *)&stack0xfffffeb4;\n        if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) goto LAB_0008bf9d;\n        uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);\n        uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);\n        uVar37 = uVar84 & uVar60;\n      }\n      if (pass != 1) goto LAB_00089837;\n      local_120 = 0;\n      ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n    }\n    local_110 = (Powerpc_relobj<64,_false> *)0x0;\n    iVar59 = (int)ppSVar39 - (int)ppSVar72;\n    this->relax_failed_ = false;\n    if (ppSVar72 != ppSVar39) {\n      local_110 = (Powerpc_relobj<64,_false> *)*ppSVar72;\n    }\n  }\n  local_ac = &_GLOBAL_OFFSET_TABLE_;\n  psVar82 = (size_t *)&stack0xfffffeb4;\n  psVar81 = (size_t *)&stack0xfffffeb4;\n  pPVar40 = (Powerpc_relobj<64,_false> *)0x0;\n  if (iVar59 == 4) {\n    pPVar40 = local_110;\n  }\n  local_a8 = (this->branch_info_).\n             super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>\n             ._M_impl._M_start;\n  if ((this->branch_info_).\n      super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>\n      ._M_impl._M_finish != local_a8) {\n    do {\n      pPVar64 = local_a8->object_;\n      uVar60 = local_a8->r_sym_;\n      uVar84 = (pPVar64->super_Sized_relobj_file<64,_false>).local_symbol_count_;\n      psVar82 = psVar81;\n      local_b4 = pPVar40;\n      if (uVar60 < uVar84) {\n        pTVar88 = gold::parameters->target_;\n        if (pTVar88 == (Target *)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;\n        if ((pTVar88[8].osabi_ == ELFOSABI_NONE) && (pSVar54 != (Symbol *)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pSVar54 = (Symbol *)0x0;\n        psVar81[-3] = uVar60;\n        psVar81[-4] = (size_t)pPVar64;\n        psVar81[-5] = 0x899e3;\n        bVar92 = gold::Sized_relobj_file<64,_false>::local_has_plt_offset\n                           ((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3]);\n        unaff_EBX = local_ac;\n        if (bVar92) goto LAB_00089ed0;\nLAB_000899ee:\n        uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n        if (uVar84 - 0xb < 3) {\n          local_f4 = (_Hash_node_base *)0x8000;\n        }\n        else {\n          if (((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)) goto LAB_00089370;\n          local_f4 = (_Hash_node_base *)0x2000000;\n        }\n        pPVar64 = local_a8->object_;\n        uVar84 = local_a8->shndx_;\n        puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_start;\n        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84) goto LAB_0008bf9d;\n        uVar60 = *(uint *)((int)puVar77 + uVar84 * 8 + 4);\n        uVar37 = (uint)puVar77[uVar84];\n        if ((uVar60 & uVar37) == 0xffffffff) {\n          psVar81[-2] = (size_t)"make_stub";\n          psVar81[-3] = 0xd3b;\n          psVar81[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n          psVar81[-5] = 0x8c39c;\n          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n        }\n        p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.super_Object._vptr_Object[0x18];\n        if (p_Var25 == gold::Relobj::do_output_section) {\n          unaff_EBX = (undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n          if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84) {\nLAB_0008c314:\n            psVar81[-2] = (size_t)"do_output_section";\n            psVar81[-3] = 0x5c8;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c335;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }\n          pPVar49 = (Parameters *)\n                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]\n          ;\n        }\n        else {\n          psVar81[-3] = uVar84;\n          psVar81[-4] = (size_t)pPVar64;\n          psVar81[-5] = 0x8adac;\n          pPVar49 = (Parameters *)(*p_Var25)();\n          unaff_EBX = (undefined **)gold::Relobj::do_output_section;\n        }\n        if (((uint)pPVar49->set_parameters_target_once_ & 1) == 0) goto LAB_0008bf5b;\n        pGVar51 = pPVar49->options_;\n        pTVar17 = pPVar49->timer_;\n        iVar59 = *(int *)((int)&local_a8->offset_ + 4);\n        uVar84 = (uint)local_a8->offset_;\n        if (pSVar54 == (Symbol *)0x0) {\n          pPVar64 = local_a8->object_;\n          uVar75 = local_a8->r_sym_;\n          pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                    ._M_impl._M_start;\n          if ((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar75) {\n            psVar81[-1] = (size_t)pSVar27;\n            psVar81[-2] = (size_t)"local_symbol";\n            psVar81[-3] = 0x8c1;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c2b0;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }\n          status = CFVS_OK;\n          local_3c = (Powerpc_relobj<64,_false> *)0xffffffff;\n          local_38 = -0x80000000;\n          local_34 = (Powerpc_relobj<64,_false> *)0x0;\n          local_30 = 0;\n          if ((pSVar27[uVar75].field_0xb & 0x10) != 0) {\n            local_38 = -0x70000000;\n          }\n          psVar81[-4] = (size_t)symtab;\n          psVar81[-5] = (size_t)&status;\n          psVar81[-6] = (size_t)(pSVar27 + uVar75);\n          psVar81[-7] = uVar75;\n          psVar81[-8] = (size_t)pPVar64;\n          unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */\n          psVar81[-9] = 0x8a65b;\n          CVar44 = gold::Sized_relobj_file<64,_false>::compute_final_local_value\n                             ((Sized_relobj_file<64,_false> *)psVar81[-8],psVar81[-7],\n                              (Symbol_value<64> *)psVar81[-6],(Symbol_value<64> *)psVar81[-5],\n                              (Symbol_table *)psVar81[-4]);\n          if ((CVar44 != CFLV_OK) || (-1 < local_38)) {\n            psVar81[-4] = (size_t)&status;\n            psVar81[-5] = 0x8aebf;\n            gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\n            goto LAB_00089370;\n          }\n          psVar81[-1] = 0;\n          psVar81[-2] = 0;\n          psVar81[-3] = (size_t)local_a8->object_;\n          psVar81[-4] = (size_t)&status;\n          psVar81[-5] = 0x8a687;\n          VVar95 = gold::Symbol_value<64>::value<false>\n                             ((Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3] = (size_t)pSVar54;\n          psVar81[-4] = (size_t)symtab;\n          psVar81[-5] = 0x89b2b;\n          VVar93 = gold::Symbol_table::compute_final_value<64>\n                             ((Symbol_table *)psVar81[-4],(Sized_symbol<64> *)psVar81[-3],\n                              (Compute_final_value_status *)psVar81[-2]);\n          os_need_update._M_h._M_buckets = (__bucket_type *)(int)VVar93;\n          os_need_update._M_h._M_bucket_count = (int)(VVar93 >> 0x20);\n          unaff_EBX = local_ac;\n          if (status == CFVS_OK) {\n            os_need_update._M_h._0_8_ =\n                 VVar93 + (1 << ((byte)pSVar54->field_0x29 >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined **)\n                    (pPVar64->super_Sized_relobj_file<64,_false>).symbols_.\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n        uVar84 = uVar60 - uVar84;\n        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).symbols_.\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_finish - (int)unaff_EBX >> 2) <= uVar84) {\n          psVar81[-2] = (size_t)"global_symbol";\n          psVar81[-3] = 0x8ad;\n          psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n          psVar81[-5] = 0x8c096;\n          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n        }\n        pSVar54 = *(Symbol **)((int)unaff_EBX + uVar84 * 4);\n        pTVar88 = gold::parameters->target_;\n        if (pTVar88 == (Target *)0x0) {\nLAB_0008c096:\n          psVar81[-2] = (size_t)"sized_target";\n          psVar81[-3] = 0x73;\n          psVar81[-4] = (size_t)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n          psVar81[-5] = 0x8c0b4;\n          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n        }\n        if (pSVar54 == (Symbol *)0x0) goto LAB_000899b9;\n        if ((pSVar54->field_0x2a & 0x10) == 0) {\n          if (((Symbol *)pTVar88[8].osabi_ == pSVar54) &&\n             ((Symbol *)pTVar88[9]._vptr_Target != (Symbol *)0x0)) {\n            pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;\n          }\n        }\n        else {\n          psVar81[-3] = (size_t)pSVar54;\n          psVar81[-4] = (size_t)symtab;\n          psVar81[-5] = 0x8a11a;\n          pSVar42 = gold::Symbol_table::resolve_forwards\n                              ((Symbol_table *)psVar81[-4],(Symbol *)psVar81[-3]);\n          pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;\n          if ((((Symbol *)pTVar88[8].osabi_ != pSVar42) ||\n              (unaff_EBX = local_ac, pSVar54 == (Symbol *)0x0)) &&\n             (unaff_EBX = local_ac, pSVar54 = pSVar42, pSVar42 == (Symbol *)0x0)) {\n            pPVar64 = local_a8->object_;\n            uVar60 = local_a8->r_sym_;\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n        if (uVar84 < 0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar36 = (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + *(int *)(&DAT_002ec2f4 + uVar84 * 4)))()\n          ;\n          return (bool)uVar36;\n        }\n        uVar53 = 0;\n        if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n          uVar53 = 0x10;\n        }\n        psVar81[-3] = uVar53;\n        psVar81[-4] = (size_t)pSVar54;\n        psVar81[-5] = 0x892ab;\n        bVar92 = gold::Symbol::use_plt_offset((Symbol *)psVar81[-4],psVar81[-3]);\n        if (!bVar92) goto LAB_000899ee;\n        if ((pTVar88->processor_specific_flags_ & 2) != 0) {\n          pGVar51 = gold::parameters->options_;\n          if (pGVar51 != (General_options *)0x0) {\n            if (((pGVar51->shared_).value != false) || ((pGVar51->pie_).value != false))\n            goto LAB_00089ed0;\n            uVar84 = *(uint *)&local_a8->field_0x10;\n            psVar81[-1] = 0x89306;\n            bVar92 = is_branch_reloc(uVar84 & 0x7fffffff);\n            if (bVar92) goto LAB_00089ed0;\n            pp_Var11 = pTVar88[2]._vptr_Target;\n            if (pp_Var11 == (_func_int_varargs **)0x0) {\n              psVar81[-1] = CONCAT31(extraout_var,bVar92);\n              psVar81[-2] = (size_t)"glink_section";\n              psVar81[-3] = 0x3a3;\n              psVar81[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n              psVar81[-5] = 0x8c3f9;\n              gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n            }\n            if ((pGVar51->plt_align_).user_set_via_option == false) {\n              uVar84 = 0xffffffe0;\n              iVar59 = 0x20;\n            }\n            else {\n              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);\n              uVar84 = -iVar59;\n            }\n            unaff_EBX = (undefined **)((uint)(pp_Var11[0x14] + iVar59 + -1) & uVar84);\n            psVar81[-1] = (size_t)&status;\n            psVar81[-2] = 0;\n            psVar81[-3] = (size_t)(pp_Var11 + 0xc);\n            psVar81[-4] = (size_t)local_84;\n            psVar81[-5] = 0x89359;\n            status = (Compute_final_value_status)pSVar54;\n            local_3c = (Powerpc_relobj<64,_false> *)unaff_EBX;\n            std::\n            _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_unsigned_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n            ::_M_emplace<std::pair<const_gold::Symbol*,_unsigned_int>_>();\n            if (local_80 != '\0') {\n              unaff_EBX = (undefined **)\n                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                                 super_Relobj.super_Object.name_.field_2 + 4);\n              pp_Var11[0x14] = (_func_int_varargs *)unaff_EBX;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        pPVar64 = local_a8->object_;\n        uVar84 = local_a8->shndx_;\n        if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n          puVar22 = (pPVar64->stub_table_index_).\n                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n          ;\n          if (uVar84 < (uint)((int)(pPVar64->stub_table_index_).\n                                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                   _M_impl._M_finish - (int)puVar22 >> 2)) {\n            pTVar88 = gold::parameters->target_;\n            if (pTVar88 == (Target *)0x0) goto LAB_0008c3f9;\n            uVar60 = puVar22[uVar84];\n            if ((uVar60 < (uint)((int)((int)pTVar88[4]._vptr_Target - pTVar88[3].osabi_) >> 2)) &&\n               (local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar88[3].osabi_ + uVar60 * 4),\n               local_b4 != (Powerpc_relobj<64,_false> *)0x0)) goto LAB_00089eef;\n          }\n          local_b4 = local_110;\n          if (local_110 == (Powerpc_relobj<64,_false> *)0x0) {\n            psVar81[-2] = (size_t)"make_stub";\n            psVar81[-3] = 0xd24;\n            psVar81[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c291;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }\n        }\nLAB_00089eef:\n        puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_start;\n        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84) goto LAB_0008bf9d;\n        local_cc = (pointer)puVar77[uVar84];\n        local_c8 = *(uint *)((int)puVar77 + uVar84 * 8 + 4);\n        if ((local_c8 & (uint)local_cc) != 0xffffffff) {\n          p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.super_Object._vptr_Object[0x18];\n          if (p_Var25 == gold::Relobj::do_output_section) {\n            ppOVar19 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar19 >> 2) <= uVar84) goto LAB_0008c314;\n            pOVar45 = ppOVar19[uVar84];\n          }\n          else {\n            psVar81[-3] = uVar84;\n            psVar81[-4] = (size_t)pPVar64;\n            psVar81[-5] = 0x8a707;\n            pOVar45 = (Output_section *)(*p_Var25)();\n          }\n          if (((pOVar45->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0008bf5b:\n            *(char **)((int)psVar81 + -8) = "address";\n            *(undefined4 *)((int)psVar81 + -0xc) = 0xc5;\n            *(char **)((int)psVar81 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)psVar81 + -0x14) = 0x8bf7c;\n            gold::do_gold_unreachable\n                      (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                       *(char **)((int)psVar81 + -8));\n          }\n          bVar92 = CARRY4((uint)local_cc,(uint)local_a8->offset_);\n          uVar84 = (int)local_cc + (int)local_a8->offset_;\n          puVar2 = &(pOVar45->super_Output_data).address_;\n          local_cc = (pointer)(uVar84 + (int)*puVar2);\n          local_c8 = local_c8 + *(int *)((int)&local_a8->offset_ + 4) + (uint)bVar92 +\n                     *(int *)((int)&(pOVar45->super_Output_data).address_ + 4) +\n                     (uint)CARRY4(uVar84,(uint)*puVar2);\n        }\n        cVar8 = local_a8->field_0x13;\n        local_38 = (int)local_a8->addend_;\n        unaff_EBX = *(undefined ***)((int)&local_a8->addend_ + 4);\n        uVar84 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                 local_got_offsets_._M_h._M_element_count;\n        uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n        pvVar20 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.map_to_relocatable_relocs_;\n        psVar83 = psVar81;\n        local_34 = (Powerpc_relobj<64,_false> *)unaff_EBX;\n        local_2c = uVar84;\n        if (pSVar54 == (Symbol *)0x0) {\n          uVar37 = local_a8->r_sym_;\n          pPVar64 = local_a8->object_;\n          status = CFVS_OK;\n          local_28 = (uint)pvVar20 & 0x3fffffff;\n          psVar81[-1] = 0x8a382;\n          local_3c = pPVar64;\n          local_30 = uVar37;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::\n          _M_emplace<std::pair<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>\n                    ();\n          unaff_EBX = (undefined **)local_8c;\n          if (local_88 != '\0') {\n            psVar81[-1] = 0x8adcd;\n            uVar75 = Stub_table<64,_false>::plt_call_size\n                               ((Stub_table<64,_false> *)*psVar81,\n                                (const_iterator)\n                                ((_Node_iterator_base<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>\n                                  *)(psVar81 + 1))->_M_cur);\n            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n            local_got_offsets_._M_h._M_element_count = uVar75 + uVar84;\n            pGVar51 = gold::parameters->options_;\n            if (pGVar51 == (General_options *)0x0) goto LAB_0008c376;\n            if ((pGVar51->plt_align_).user_set_via_option == false) {\n              uVar78 = 0xffffffe0;\n              iVar59 = 0x20;\n            }\n            else {\n              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);\n              uVar78 = -iVar59;\n            }\n            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n            local_got_offsets_._M_h._M_element_count = ((uVar75 + uVar84) - 1) + iVar59 & uVar78;\n            pTVar43 = (Target_powerpc<64,_false> *)\n                      (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.super_Object.compressed_sections_;\n            if ((((pTVar43->field_0x8 & 2) != 0) && (pTVar43->plt_localentry0_ != false)) &&\n               (((pPVar64->st_other_).\n                 super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start\n                 [uVar37] & 0xe0) == 0)) {\n              pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                        super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                        ._M_impl._M_start;\n              if ((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                               super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                               ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar37) {\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&UNK_0008c26a;\n                plt_off((Target_powerpc<64,_false> *)*psVar81,\n                        (Sized_relobj_file<64,_false> *)psVar81[1],psVar81[2],\n                        (Output_data_plt_powerpc<64,_false> **)psVar81[3]);\n              }\n              if ((((pSVar27[uVar37].field_0xb & 0x40) == 0) &&\n                  ((*(uint *)&pSVar27[uVar37].field_0x8 & 0x7ffffff) != 0)) &&\n                 ((pSVar27[uVar37].field_0xb & 8) != 0)) {\n                puVar65 = (undefined1 *)\n                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                                 super_Relobj.super_Object.input_file_ + 3);\n                *puVar65 = *puVar65 | 0x80;\n                ((Target_powerpc<64,_false> *)\n                (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                super_Relobj.super_Object.compressed_sections_)->has_localentry0_ = true;\n              }\n            }\n          }\n          if ((-1 < cVar8) &&\n             (-1 < (char)*(undefined1 *)\n                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                                 super_Relobj.super_Object.input_file_ + 3))) {\n            puVar65 = (undefined1 *)\n                      ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                             super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                             super_Relobj.super_Object.input_file_ + 3);\n            *puVar65 = *puVar65 | 0x40;\n          }\n          if (uVar60 - 0xb < 3) {\n            local_e4 = 0x8000;\n          }\n          else {\n            if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17)) goto LAB_00089370;\n            local_e4 = 0x2000000;\n          }\n          if ((local_c8 & (uint)local_cc) == 0xffffffff) goto LAB_0008c2e9;\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_0008c192:\n                    /* WARNING: Subroutine does not return */\n            psVar83[-1] = 0x8c197;\n            Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar83);\n          }\n          uVar60 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n          if (uVar60 < 0x20) {\n            uVar60 = 0x20;\n          }\n          if (((uint)(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                     super_Relobj.super_Object.input_file_ & 1) == 0) goto LAB_0008a0fd;\n          psVar3 = &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.super_Object.name_;\n          pcVar63 = (psVar3->_M_dataplus)._M_p + (uVar60 - 1);\n          p_Var89 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_before_begin._M_nxt;\n          unaff_EBX = (undefined **)((uint)((int)&p_Var89->_M_nxt + (int)pcVar63) & -uVar60);\n          iVar59 = (((uVar60 != 0) - 1) +\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.super_Object.name_._M_string_length +\n                    (uint)CARRY4(uVar60 - 1,(uint)(psVar3->_M_dataplus)._M_p) +\n                    (uint)CARRY4((uint)p_Var89,(uint)pcVar63) & -(uint)(uVar60 != 0)) +\n                   (uint)CARRY4(uVar84,(uint)unaff_EBX);\n          pPVar64 = (Powerpc_relobj<64,_false> *)unaff_EBX;\n        }\n        else {\n          local_3c = (Powerpc_relobj<64,_false> *)0x0;\n          local_30 = 0;\n          local_28 = (uint)pvVar20 & 0x3fffffff;\n          psVar81[-1] = 0x8a02d;\n          status = (Compute_final_value_status)pSVar54;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::\n          _M_emplace<std::pair<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>\n                    ();\n          pPVar64 = local_8c;\n          if (local_88 != '\0') {\n            psVar81[-1] = 0x8a4b7;\n            uVar37 = Stub_table<64,_false>::plt_call_size\n                               ((Stub_table<64,_false> *)*psVar81,\n                                (const_iterator)\n                                ((_Node_iterator_base<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>\n                                  *)(psVar81 + 1))->_M_cur);\n            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n            local_got_offsets_._M_h._M_element_count = uVar37 + uVar84;\n            pTVar43 = (Target_powerpc<64,_false> *)\n                      (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.super_Object.compressed_sections_;\n            unaff_EBX = (undefined **)local_b4;\n            if ((((pTVar43->field_0x8 & 2) != 0) && (pTVar43->plt_localentry0_ != false)) &&\n               ((pSVar54->field_0x28 & 0xf) == 2)) {\n              if ((pSVar54->field_0x2a & 7) == 0) {\n                if ((pSVar54->field_0x2b & 0x20) == 0) {\n                  psVar81[-4] = (size_t)(pSVar54->u2_).shndx;\n                  psVar81[-5] = 0x8bf3b;\n                  bVar92 = gold::Symbol::is_common_shndx(psVar81[-4]);\n                  bVar92 = !bVar92;\n                  unaff_EBX = local_ac;\n                }\n                else {\n                  bVar92 = (Target *)(pSVar54->u2_).shndx != (Target *)0x0;\n                }\n              }\n              else {\n                bVar92 = (pSVar54->field_0x2a & 7) != 4;\n              }\n              if (((bVar92) && ((pSVar54->field_0x29 & 0xe0) == 0)) &&\n                 ((pSVar54->field_0x2c & 0x10) == 0)) {\n                puVar65 = (undefined1 *)\n                          ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_\n                          + 3);\n                *puVar65 = *puVar65 | 0x80;\n                ((Target_powerpc<64,_false> *)\n                (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                super_Relobj.super_Object.compressed_sections_)->has_localentry0_ = true;\n                pTVar43 = (Target_powerpc<64,_false> *)\n                          (local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                          compressed_sections_;\n              }\n              else {\n                pTVar43 = (Target_powerpc<64,_false> *)\n                          (local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                          compressed_sections_;\n              }\n            }\n            if ((pTVar43->tls_get_addr_opt_ == (Symbol *)0x0) ||\n               ((pTVar43->tls_get_addr_ != pSVar54 && (pTVar43->tls_get_addr_opt_ != pSVar54)))) {\n              sVar73 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_element_count;\n            }\n            else {\n              pTVar43->has_tls_get_addr_opt_ = true;\n              sVar73 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_element_count;\n              *(size_type *)&(local_b4->super_Sized_relobj_file<64,_false>).elf_file_.shoff_ =\n                   sVar73 - 0x14;\n            }\n            pGVar51 = gold::parameters->options_;\n            if (pGVar51 == (General_options *)0x0) {\nLAB_0008c376:\n                    /* WARNING: Subroutine does not return */\n              psVar81[-1] = 0x8c37b;\n              Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar81);\n            }\n            if ((pGVar51->plt_align_).user_set_via_option == false) {\n              uVar37 = 0xffffffe0;\n              iVar59 = 0x20;\n            }\n            else {\n              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);\n              uVar37 = -iVar59;\n            }\n            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n            local_got_offsets_._M_h._M_element_count = (sVar73 - 1) + iVar59 & uVar37;\n          }\n          if ((-1 < cVar8) &&\n             (-1 < (char)*(undefined1 *)\n                          ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_\n                          + 3))) {\n            puVar65 = (undefined1 *)\n                      ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ + 3\n                      );\n            *puVar65 = *puVar65 | 0x40;\n          }\n          if (uVar60 - 0xb < 3) {\n            local_e4 = 0x8000;\n          }\n          else {\n            if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17)) goto LAB_00089370;\n            local_e4 = 0x2000000;\n          }\n          if ((local_c8 & (uint)local_cc) == 0xffffffff) goto LAB_0008c2e9;\n          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;\n          uVar60 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n          if (uVar60 < 0x20) {\n            uVar60 = 0x20;\n          }\n          if (((uint)(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                     super_Relobj.super_Object.input_file_ & 1) == 0) {\nLAB_0008a0fd:\n                    /* WARNING: Subroutine does not return */\n            psVar81[-1] = (size_t)&UNK_0008a102;\n            Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar81);\n          }\n          psVar3 = &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.super_Object.name_;\n          pcVar63 = (psVar3->_M_dataplus)._M_p + (uVar60 - 1);\n          unaff_EBX = (undefined **)\n                      (((uVar60 != 0) - 1) +\n                       (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       super_Relobj.super_Object.name_._M_string_length +\n                      (uint)CARRY4(uVar60 - 1,(uint)(psVar3->_M_dataplus)._M_p));\n          p_Var89 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_before_begin._M_nxt;\n          pPVar64 = (Powerpc_relobj<64,_false> *)\n                    ((uint)((int)&p_Var89->_M_nxt + (int)pcVar63) & -uVar60);\n          iVar59 = ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object +\n                    (uint)CARRY4((uint)p_Var89,(uint)pcVar63) & -(uint)(uVar60 != 0)) +\n                   (uint)CARRY4(uVar84,(uint)pPVar64);\n        }\n        uVar84 = (int)&(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       super_Relobj.super_Object._vptr_Object + uVar84;\n        uVar60 = uVar84 - (int)local_cc;\n        if (((iVar59 - local_c8) - (uint)(uVar84 < local_cc)) + (uint)CARRY4(uVar60,local_e4) <\n            (uint)(uVar60 + local_e4 < local_e4 * 2)) goto LAB_00089370;\nLAB_0008a1d8:\n        local_bc = &status;\n        psVar82 = psVar81;\n        if ((gold::parameters->debug_ & 0x40) != 0) {\n          pEVar21 = gold::parameters->errors_;\n          piVar85 = *(int **)&(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.field_0x2c;\n          iVar59 = *piVar85;\n          *(Xindex **)((int)psVar81 + -8) =\n               (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n               super_Relobj.super_Object.xindex_;\n          *(int **)((int)psVar81 + -0xc) = piVar85;\n          *(Compute_final_value_status **)((int)psVar81 + -0x10) = local_bc;\n          pcVar12 = *(code **)(iVar59 + 0x40);\n          *(undefined4 *)((int)psVar81 + -0x14) = 0x8a1ff;\n          (*pcVar12)();\n          CVar16 = status;\n          uVar53 = *(undefined4 *)\n                    (*(int *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.field_0x2c + 4\n                    );\n          AVar34 = local_a8->offset_;\n          pPVar64 = local_a8->object_;\n          p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.super_Object._vptr_Object[0x10];\n          if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n            *(uint *)((int)psVar81 + -0xc) = local_a8->shndx_;\n            *(Elf_file<64,_false,_gold::Object> **)((int)psVar81 + -0x10) =\n                 &(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n            *(Output_sections **)((int)psVar81 + -0x14) = &os_need_update;\n                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)((int)psVar81 + -0x18) = 0x8a258;\n            elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                      (*(Elf_file<64,_false,_gold::Object> **)((int)psVar81 + -0x10),\n                       *(uint *)((int)psVar81 + -0xc));\n          }\n          else {\n            *(uint *)((int)psVar81 + -0xc) = local_a8->shndx_;\n            *(Powerpc_relobj<64,_false> **)((int)psVar81 + -0x10) = pPVar64;\n            *(Output_sections **)((int)psVar81 + -0x14) = &os_need_update;\n                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */\n            *(undefined4 *)((int)psVar81 + -0x18) = 0x8af32;\n            (*p_Var25)();\n          }\n          *(Compute_final_value_status *)((int)psVar81 + -0x10) = CVar16;\n          pPVar64 = local_a8->object_;\n          *(undefined4 *)((int)psVar81 + -0x14) = uVar53;\n          *(int *)((int)psVar81 + -0x18) = (int)AVar34;\n          *(__bucket_type **)((int)psVar81 + -0x1c) = os_need_update._M_h._M_buckets;\n          *(pointer *)((int)psVar81 + -0x20) =\n               (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n               super_Relobj.super_Object.name_._M_dataplus._M_p;\n          *(char **)((int)psVar81 + -0x24) =\n               "branch at %s:%s+%#lx\ncan\'t reach stub attached to %s:%s";\n          *(Errors **)((int)psVar81 + -0x28) = pEVar21;\n                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */\n          *(undefined4 *)((int)psVar81 + -0x2c) = 0x8a289;\n          gold::Errors::debug(*(Errors **)((int)psVar81 + -0x28),*(char **)((int)psVar81 + -0x24));\n          if ((__node_base *)os_need_update._M_h._M_buckets != &os_need_update._M_h._M_before_begin)\n          {\n            *(__bucket_type **)((int)psVar81 + -0x18) = os_need_update._M_h._M_buckets;\n            *(undefined4 *)((int)psVar81 + -0x1c) = 0x8a29f;\n            operator_delete(*(void **)((int)psVar81 + -0x18));\n          }\n          psVar82 = (size_t *)((int)psVar81 + -8);\n          unaff_EBX = local_ac;\n          if ((int *)status != &local_38) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            *(Compute_final_value_status *)((int)psVar81 + -0x18) = status;\n            *(undefined4 *)((int)psVar81 + -0x1c) = 0x8a2bb;\n            operator_delete(*(void **)((int)psVar81 + -0x18));\n            psVar82 = (size_t *)((int)psVar81 + -8);\n          }\n        }\nLAB_0008a2be:\n        if (this->relax_failed_ == false) {\n          this->relax_failed_ = true;\n          iVar59 = this->relax_fail_count_ + 1;\n          this->relax_fail_count_ = iVar59;\n          if (iVar59 < 3) {\n            return true;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 1;\n      psVar81 = psVar82;\n    } while ((this->branch_info_).\n             super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>\n             ._M_impl._M_finish != local_a8);\n  }\n  sVar73 = (this->branch_lookup_table_)._M_h._M_element_count;\n  local_fc = sVar73 != local_120;\n  if (sVar73 != 0) {\n    psVar82[-1] = 0x8b9ca;\n    make_brlt_section((Target_powerpc<64,_false> *)*psVar82,(Layout *)psVar82[1]);\n  }\n  if (sVar73 != local_120) {\n    unaff_EBX = (undefined **)this->brlt_section_;\n    bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>\n                       ).super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;\n    *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n              super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ = bVar70 & 0xfa;\n    puVar56 = psVar82;\n    if ((bVar70 & 8) != 0) {\n      if ((bVar70 & 2) == 0) {\n        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity\n             = sVar73 << 4;\n        *(undefined4 *)\n         ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = 0;\n        psVar82[-1] = 0;\n        psVar82[-2] = (size_t)"set_data_size";\n        psVar82[-3] = 0x218;\n        psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        psVar82[-5] = 0x8c35a;\n        gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n      }\n      goto LAB_0008b9d8;\n    }\n    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n    super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity =\n         sVar73 << 4;\n    oVar97 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n             super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_;\n    *(undefined4 *)\n     ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n            super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = 0;\n    *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n              super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n         bVar70 & 0xfa | 2;\n    pbVar4 = (byte *)((int)oVar97 + 0x92);\n    *pbVar4 = *pbVar4 | 4;\n    piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c;\n    if (piVar85 != (int *)0x0) {\n      bVar70 = *(byte *)(piVar85 + 7);\n      *(byte *)(piVar85 + 7) = bVar70 & 0xfa;\n      local_a8 = (pointer)*piVar85;\n      pcVar12 = *(code **)((int)local_a8 + 0x3c);\n      if ((bVar70 & 8) == 0) {\n        *(byte *)(piVar85 + 7) = bVar70 & 0xf8;\n        if (pcVar12 != gold::Output_data::do_reset_address_and_file_offset) goto LAB_0008bb14;\n      }\n      else {\n        if (pcVar12 != gold::Output_data::do_reset_address_and_file_offset) {\nLAB_0008bb14:\n          psVar82[-4] = (size_t)piVar85;\n          psVar82[-5] = 0x8bb1a;\n          (*pcVar12)();\n          piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                              super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                              super_Relobj.super_Object.field_0x2c;\n        }\n        if ((*(byte *)(piVar85 + 7) & 2) != 0) {\nLAB_0008b9d8:\n          *(char **)((int)puVar56 + -8) = "set_current_data_size_for_child";\n          *(undefined4 *)((int)puVar56 + -0xc) = 0x231;\n          *(char **)((int)puVar56 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)((int)puVar56 + -0x14) = &UNK_0008b9f9;\n          gold::do_gold_unreachable\n                    (*(char **)((int)puVar56 + -0x10),*(int *)((int)puVar56 + -0xc),\n                     *(char **)((int)puVar56 + -8));\n        }\n        local_a8 = (pointer)*piVar85;\n      }\n      piVar85[3] = sVar73 * 0x18;\n      piVar85[4] = 0;\n      psVar82[-4] = (size_t)piVar85;\n      pcVar12 = *(code **)((int)local_a8 + 0x38);\n      psVar82[-5] = 0x89480;\n      (*pcVar12)();\n      if ((*(byte *)(piVar85 + 7) & 2) == 0) {\nLAB_0008c197:\n        *(char **)((int)psVar82 + -8) = "finalize_data_size";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x163;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c1b8;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }\n      pbVar4 = (byte *)(*(int *)(*(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                                          super_Sized_relobj_file<64,_false>).\n                                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                                          field_0x2c + 0x20) + 0x92);\n      *pbVar4 = *pbVar4 | 4;\n    }\n  }\n  ppSVar39 = (this->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n             ._M_impl._M_finish;\n  if (ppSVar39 !=\n      (this->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n      ._M_impl._M_start) {\n    do {\n      pSVar13 = ppSVar39[-1];\n      if (pSVar13->plt_fde_len_ == 0) {\n        if ((this->stub_tables_).\n            super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n            ._M_impl._M_start == ppSVar39 + -1) goto LAB_00089528;\n      }\n      else {\n        psVar82[-3] = pSVar13->plt_fde_len_;\n        psVar82[-4] = (size_t)pSVar13->plt_fde_;\n        psVar82[-5] = 0xc;\n        psVar82[-6] = (size_t)"\x01zR";\n        psVar82[-7] = (size_t)pSVar13;\n        psVar82[-8] = (size_t)layout;\n        psVar82[-9] = 0x8950d;\n        gold::Layout::remove_eh_frame_for_plt\n                  ((Layout *)psVar82[-8],(Output_data *)psVar82[-7],(uchar *)psVar82[-6],psVar82[-5]\n                   ,(uchar *)psVar82[-4],psVar82[-3]);\n        pSVar13->plt_fde_len_ = 0;\n        unaff_EBX = local_ac;\n        if ((this->stub_tables_).\n            super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n            ._M_impl._M_start == ppSVar39 + -1) goto LAB_00089528;\n      }\n      ppSVar39 = ppSVar39 + -1;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined **)*ppSVar72;\n    piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.offset_;\n    pcVar12 = *(code **)(*piVar85 + 0xc);\n    if (pcVar12 == gold::Output_section::do_addralign) {\n      uVar96 = *(undefined8 *)(piVar85 + 9);\n    }\n    else {\n      psVar82[-4] = (size_t)piVar85;\n                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */\n      psVar82[-5] = 0x8a776;\n      uVar96 = (*pcVar12)();\n    }\n    uVar84 = (uint)((ulonglong)uVar96 >> 0x20);\n    local_a8 = (pointer)uVar96;\n    if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */\n      psVar82[-1] = 0x8c30f;\n      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);\n    }\n    local_b4 = (Powerpc_relobj<64,_false> *)\n               (1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f));\n    if (local_b4 < 0x20) {\n      if (uVar84 == 0 && (uint)(0x1f < local_a8) <= -uVar84) {\n        piVar85[9] = 0x20;\n        piVar85[10] = 0;\n        local_b4 = (Powerpc_relobj<64,_false> *)0x20;\nLAB_000897c9:\n        iVar59 = piVar85[0x2b];\n        if (iVar59 != 0) {\n          *(Powerpc_relobj<64,_false> **)(iVar59 + 4) = local_b4;\n          *(undefined4 *)(iVar59 + 8) = 0;\n        }\n      }\n    }\n    else if (uVar84 < (local_a8 < local_b4)) {\n      piVar85[9] = (int)local_b4;\n      piVar85[10] = 0;\n      goto LAB_000897c9;\n    }\n    fVar14 = (float)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count;\n    p_Var15 = (__bucket_type)\n              (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n              super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n    if (((((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n         super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_max_load_factor\n         != fVar14) ||\n       (p_Var15 !=\n        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_single_bucket)) {\n      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n      super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_single_bucket = p_Var15;\n      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n      super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_max_load_factor =\n           fVar14;\n      CVar16 = *(Compute_final_value_status *)&(*ppSVar72)->field_0x20;\n      psVar82[-3] = 1;\n      psVar82[-4] = 0;\n      status = CVar16;\n      psVar82[-5] = (size_t)&__node_gen;\n      psVar82[-6] = (size_t)&status;\n      psVar82[-7] = (size_t)&os_need_update;\n      psVar82[-8] = (size_t)local_a4;\n      __node_gen._M_h = (__hashtable_alloc *)&os_need_update;\n                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */\n      psVar82[-9] = 0x8972b;\n      std::\n      _Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>\n      ::\n      _M_insert<gold::Output_section*,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<gold::Output_section*,_false>_>_>_>\n                ();\n      local_fc = true;\n    }\n    ppSVar72 = ppSVar72 + 1;\n    _Var33._M_nxt = os_need_update._M_h._M_before_begin._M_nxt;\n  } while ((this->stub_tables_).\n           super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n           ._M_impl._M_finish != ppSVar72);\n  for (; _Var33._M_nxt != (_Hash_node_base *)0x0; _Var33._M_nxt = (_Var33._M_nxt)->_M_nxt) {\n    lVar30 = 0;\n    p_Var89 = _Var33._M_nxt[1]._M_nxt;\n    local_a8 = (pointer)p_Var89[0x1b]._M_nxt;\n    if (local_a8 != (pointer)p_Var89[0x1c]._M_nxt) {\n      do {\n        p_Var86 = (_Hash_node_base *)local_a8->object_;\n        if (((_Hash_node_base *)((int)local_a8 + 4))->_M_nxt == (_Hash_node_base *)0x0) {\n          if ((_Hash_node_base *)0xfffffffb < p_Var86) {\n            p_Var52 = ((_Hash_node_base *)((int)local_a8 + 0x10))->_M_nxt;\n            p_Var68 = p_Var52->_M_nxt[3]._M_nxt;\n            if (p_Var68 == (_Hash_node_base *)gold::Output_section_data::do_addralign) {\n              lVar98 = *(longlong *)(p_Var52 + 9);\n            }\n            else {\n              psVar82[-4] = (size_t)p_Var52;\n              psVar82[-5] = 0x8ad8e;\n              lVar98 = (*(code *)p_Var68)();\n              p_Var86 = (_Hash_node_base *)local_a8->object_;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          local_b0 = (int)((ulonglong)lVar30 >> 0x20);\n          local_b4 = (Powerpc_relobj<64,_false> *)lVar30;\n          psVar82[-4] = (size_t)local_a8;\n          psVar82[-5] = 0x8aacd;\n          pRVar48 = gold::Output_section::Input_section::relobj((Input_section *)psVar82[-4]);\n          psVar82[-4] = (size_t)local_a8;\n          psVar82[-5] = 0x8aadd;\n          uVar84 = gold::Output_section::Input_section::shndx((Input_section *)psVar82[-4]);\n          pp_Var11 = (pRVar48->super_Object)._vptr_Object;\n          *(longlong *)(psVar82 + -2) = lVar30;\n          psVar82[-3] = uVar84;\n          psVar82[-4] = (size_t)pRVar48;\n          p_Var25 = pp_Var11[0x37];\n          psVar82[-5] = 0x8aaf6;\n          (*p_Var25)();\n          if ((_Hash_node_base *)local_a8->object_ != (_Hash_node_base *)0xfffffffc)\n          goto LAB_0008aa48;\n          local_c8 = 0;\n          unaff_EBX = (undefined **)((_Hash_node_base *)((int)local_a8 + 0x10))->_M_nxt;\n          lVar98 = lVar30 + ZEXT48((((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                                   super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                                   .local_got_offsets_._M_h._M_before_begin._M_nxt);\n          local_cc = (pointer)((((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                               super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                               local_got_offsets_._M_h._M_rehash_policy._M_next_resize +\n                              (((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                              super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                              local_got_offsets_._M_h._M_element_count);\n          if (*(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_end_of_storage != false) {\n            pOVar10 = ((Target_powerpc<64,_false> *)\n                      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)\n                      ->savres_section_;\n            if ((pOVar10->field_0x1c & 2) == 0) {\n              psVar82[-2] = (size_t)"data_size";\n              psVar82[-3] = 0xcf;\n              psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n              psVar82[-5] = 0x8c054;\n              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n            }\n            bVar92 = CARRY4((uint)local_cc,*(uint *)&pOVar10->field_0xc);\n            local_cc = (pointer)((int)local_cc + *(uint *)&pOVar10->field_0xc);\n            local_c8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;\n          }\n          if (local_c8 != 0 || local_cc != (pointer)0x0) {\n            if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              psVar82[-1] = 0x8c314;\n              Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);\n            }\n            uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n            if (uVar84 < 0x20) {\n              uVar84 = 0x20;\n            }\n            lVar98 = lVar98 + CONCAT44((uVar84 != 0) - 1,uVar84 - 1);\n            lVar98 = CONCAT44(-(uint)(uVar84 != 0) & (uint)((ulonglong)lVar98 >> 0x20),\n                              (uint)lVar98 & -uVar84);\n          }\n          pvVar6 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.section_offsets_;\n          puVar77 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish;\n          AVar31._0_4_ = (pvVar6->\n                         super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                         )._M_impl._M_start;\n          AVar31._4_4_ = (pvVar6->\n                         super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                         )._M_impl._M_finish;\n          AVar94 = lVar98 + CONCAT44((local_c8 - local_b0) - (uint)(local_cc < local_b4),\n                                     (int)local_cc - (int)local_b4);\n          puVar74 = (pointer)(AVar94 >> 0x20);\n          if (puVar77 < puVar74 ||\n              (uint)((int)puVar77 - (int)puVar74) <\n              (uint)((pvVar6->\n                     super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                     )._M_impl._M_start < (pointer)AVar94)) {\n            AVar31 = AVar94;\n          }\n          bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                             super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                             super_Relobj.super_Object.input_file_;\n          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xfa;\n          if ((bVar70 & 8) == 0) {\n            *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n                 bVar70 & 0xf8;\n          }\n          else if ((bVar70 & 2) != 0) {\n            psVar82[-2] = (size_t)"set_current_data_size_for_child";\n            psVar82[-3] = 0x231;\n            psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n            psVar82[-5] = (size_t)&UNK_0008acc9;\n            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n          }\n          *(Address *)\n           &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n            super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 = AVar31;\n          if (((uint)p_Var89[7]._M_nxt & 4) == 0) {\n            psVar82[-2] = (size_t)"offset";\n            psVar82[-3] = 0xe3;\n            psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n            psVar82[-5] = 0x8c075;\n            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n          }\n          p_Var86 = p_Var89[5]._M_nxt;\n          p_Var52 = p_Var89[6]._M_nxt;\n          if (((uint)p_Var89[7]._M_nxt & 1) == 0) {\n            psVar82[-2] = (size_t)"address";\n            psVar82[-3] = 0xc5;\n            psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */\n            psVar82[-5] = 0x8bfdf;\n            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n          }\n          p_Var68 = p_Var89[1]._M_nxt;\n          p_Var62 = p_Var89[1]._M_nxt;\n          p_Var26 = p_Var89[2]._M_nxt;\n          *(int *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                         super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                         super_Relobj.super_Object.name_.field_2 + 8) =\n               (int)&(p_Var89[5]._M_nxt)->_M_nxt + (int)local_b4;\n          pPVar49 = (Parameters *)\n                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;\n          (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n          super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n               (pointer)((int)&p_Var62->_M_nxt + (int)local_b4);\n          (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n          super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =\n               (int)&p_Var26->_M_nxt + (uint)CARRY4((uint)local_b4,(uint)p_Var68) + local_b0;\n          *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object.name_.field_2 + 0xc) =\n               (int)&p_Var52->_M_nxt + (uint)CARRY4((uint)local_b4,(uint)p_Var86) + local_b0;\n          ppIVar1 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                     super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;\n          *(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;\n          psVar82[-4] = (size_t)unaff_EBX;\n          pcVar12 = (code *)pPVar49[1].incremental_mode_;\n          psVar82[-5] = 0x8ac5b;\n          (*pcVar12)();\n          if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                     super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)\n          {\n            psVar82[-2] = (size_t)"finalize_data_size";\n            psVar82[-3] = 0x163;\n            psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */\n            psVar82[-5] = 0x8c033;\n            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n          }\n          lVar98 = lVar30 + AVar31;\n          lVar30 = AVar31 + lVar30;\n          if (3 < pass) {\n            pSVar32 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>\n                       ).super_Sized_relobj<64,_false>;\n            (pSVar32->section_offsets_).\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.\n            _M_impl._M_start = (pointer)(int)AVar31;\n            (pSVar32->section_offsets_).\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.\n            _M_impl._M_finish = (pointer)(int)(AVar31 >> 0x20);\n            lVar30 = lVar98;\n          }\n        }\n        else {\n          puVar65 = (undefined1 *)\n                    ((int)&((_Hash_node_base *)((int)local_a8 + 4))->_M_nxt[-1]._M_nxt + 3);\n          bVar70 = (byte)puVar65;\n          bVar92 = ((uint)puVar65 & 0x20) == 0;\n          lVar98 = CONCAT44((uint)!bVar92 << (bVar70 & 0x1f),(uint)bVar92 << (bVar70 & 0x1f));\nLAB_0008aa09:\n          if (lVar98 != 0) {\n            lVar30 = lVar30 + -1 + lVar98;\n            lVar30 = CONCAT44((uint)((ulonglong)lVar30 >> 0x20) &\n                              -((int)((ulonglong)lVar98 >> 0x20) + (uint)((int)lVar98 != 0)),\n                              (uint)lVar30 & -(int)lVar98);\n          }\n          if ((undefined1 *)0x2 < (undefined1 *)((int)&p_Var86->_M_nxt + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          psVar82[-4] = (size_t)local_a8;\n          psVar82[-5] = 0x8aa5c;\n          oVar97 = gold::Output_section::Input_section::data_size((Input_section *)psVar82[-4]);\n          unaff_EBX = local_ac;\n          lVar30 = oVar97 + lVar30;\n        }\n        local_a8 = (pointer)((int)local_a8 + 0x18);\n      } while ((pointer)p_Var89[0x1c]._M_nxt != local_a8);\n    }\n    pbVar4 = (byte *)((int)&p_Var89[0x24]._M_nxt + 2);\n    *pbVar4 = *pbVar4 & 0xfb;\n  }\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (ppSVar39 + -1 !=\n      (this->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n      ._M_impl._M_finish) {\n    pSVar13 = ppSVar39[-1];\n    ppPVar5 = &gold::parameters;\n    pGVar51 = gold::parameters->options_;\n    while (pGVar51 != (General_options *)0x0) {\n      unaff_EBX = (undefined **)ppPVar5;\n      if ((((pGVar51->ld_generated_unwind_info_).value != false) &&\n          (pSVar13->targ_->glink_ != (Output_data_glink<64,_false> *)0x0)) &&\n         (pSVar13->branch_size_ + pSVar13->plt_size_ + (uint)pSVar13->need_save_res_ != 0)) {\n        puVar61 = pSVar13->plt_fde_ + 9;\n        pSVar13->plt_fde_[0] = '\0';\n        pSVar13->plt_fde_[1] = '\0';\n        pSVar13->plt_fde_[2] = '\0';\n        pSVar13->plt_fde_[3] = '\0';\n        pSVar13->plt_fde_[4] = '\0';\n        pSVar13->plt_fde_[5] = '\0';\n        pSVar13->plt_fde_[6] = '\0';\n        pSVar13->plt_fde_[7] = '\0';\n        pSVar13->plt_fde_[8] = '\0';\n        uVar84 = pSVar13->tls_get_addr_opt_bctrl_;\n        if (uVar84 != 0xffffffff) {\n          uVar60 = uVar84 >> 2;\n          if (uVar84 < 0x100) {\n            puVar61 = pSVar13->plt_fde_ + 10;\n            pSVar13->plt_fde_[9] = (uchar)uVar60 + '@';\n          }\n          else if (uVar84 < 0x400) {\n            pSVar13->plt_fde_[9] = '\x02';\n            puVar61 = pSVar13->plt_fde_ + 0xb;\n            pSVar13->plt_fde_[10] = (uchar)uVar60;\n          }\n          else if (uVar84 < 0x40000) {\n            pSVar13->plt_fde_[9] = '\x03';\n            puVar61 = pSVar13->plt_fde_ + 0xc;\n            *(short *)(pSVar13->plt_fde_ + 10) = (short)uVar60;\n          }\n          else {\n            pSVar13->plt_fde_[9] = '\x04';\n            puVar61 = pSVar13->plt_fde_ + 0xe;\n            *(uint *)(pSVar13->plt_fde_ + 10) = uVar60;\n          }\n          puVar61[0] = '\x11';\n          puVar61[1] = 'A';\n          uVar84 = *(uint *)&pSVar13->targ_->field_0x8;\n          puVar61[3] = 'D';\n          puVar61[4] = '\x06';\n          puVar61[5] = 'A';\n          puVar61[2] = (-((uVar84 & 2) == 0) & 0xfdU) + 0x7f;\n          puVar61 = puVar61 + 6;\n        }\n        uVar84 = (int)puVar61 - (int)pSVar13->plt_fde_;\n        pSVar13->plt_fde_len_ = uVar84;\n        psVar82[-3] = uVar84;\n        psVar82[-4] = (size_t)pSVar13->plt_fde_;\n        psVar82[-5] = 0xc;\n        psVar82[-6] = (size_t)"\x01zR";\n        psVar82[-7] = (size_t)pSVar13;\n        psVar82[-8] = (size_t)layout;\n        psVar82[-9] = 0x89654;\n        gold::Layout::add_eh_frame_for_plt\n                  ((Layout *)psVar82[-8],(Output_data *)psVar82[-7],(uchar *)psVar82[-6],psVar82[-5]\n                   ,(uchar *)psVar82[-4],psVar82[-3]);\n        unaff_EBX = local_ac;\n      }\n      if ((this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish == ppSVar39) {\n        os_need_update._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n        ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_start;\n        os_need_update._M_h._M_element_count = 0;\n        os_need_update._M_h._M_bucket_count = 1;\n        os_need_update._M_h._M_buckets = &os_need_update._M_h._M_single_bucket;\n        os_need_update._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n        os_need_update._M_h._M_rehash_policy._M_next_resize = 0;\n        os_need_update._M_h._M_single_bucket = (__bucket_type)0x0;\n        if (ppSVar72 == ppSVar39) goto joined_r0x0008acfa;\n        goto LAB_00089744;\n      }\n      pSVar13 = *ppSVar39;\n      ppSVar39 = ppSVar39 + 1;\n      ppPVar5 = (Parameters **)unaff_EBX;\n      pGVar51 = gold::parameters->options_;\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  os_need_update._M_h._M_bucket_count = 1;\n  os_need_update._M_h._M_buckets = &os_need_update._M_h._M_single_bucket;\n  os_need_update._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  os_need_update._M_h._M_element_count = 0;\n  os_need_update._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  os_need_update._M_h._M_rehash_policy._M_next_resize = 0;\n  os_need_update._M_h._M_single_bucket = (__bucket_type)0x0;\njoined_r0x0008acfa:\n  if (local_fc != false) goto LAB_0008ad00;\n  if (sVar73 == 0) {\nLAB_0008af56:\n    pGVar51 = gold::parameters->options_;\n    if (pGVar51 == (General_options *)0x0) {\n      psVar82[-1] = (size_t)unaff_EBX;\n      psVar82[-2] = (size_t)"options";\n      psVar82[-3] = 0x5c;\n      psVar82[-4] = (size_t)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */\n      psVar82[-5] = (size_t)&UNK_0008c216;\n      gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n    }\n  }\n  else {\n    pGVar51 = gold::parameters->options_;\n    if (pGVar51 == (General_options *)0x0) {\n      psVar82[-1] = 0;\n      psVar82[-2] = (size_t)"options";\n      psVar82[-3] = 0x5c;\n      psVar82[-4] = (size_t)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */\n      psVar82[-5] = 0x8c376;\n      gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n    }\n    if (((pGVar51->shared_).value != false) || ((pGVar51->pie_).value != false)) {\n      pOVar87 = this->brlt_section_;\n      bVar70 = (pOVar87->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x1c;\n      if ((bVar70 & 8) == 0) {\n        (pOVar87->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        field_0x1c = bVar70 & 0xfd;\n      }\n      local_a8 = (pointer)pOVar87->rel_;\n      bVar70 = (((Reloc_section *)local_a8)->super_Output_data_reloc_base<4,_true,_64,_false>).\n               super_Output_data_reloc_generic.super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.field_0x1c;\n      if ((bVar70 & 8) == 0) {\n        (((Reloc_section *)local_a8)->super_Output_data_reloc_base<4,_true,_64,_false>).\n        super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data.\n        super_Output_data.field_0x1c = bVar70 & 0xfd;\n      }\n      p_Var89 = (this->branch_lookup_table_)._M_h._M_before_begin._M_nxt;\n      if (p_Var89 != (_Hash_node_base *)0x0) {\n        while( true ) {\n          p_Var86 = p_Var89[1]._M_nxt;\n          p_Var52 = p_Var89[2]._M_nxt;\n          p_Var68 = p_Var89[3]._M_nxt;\n          psVar82[-3] = 1;\n          psVar82[-4] = 0;\n          psVar82[-5] = (size_t)p_Var68;\n          psVar82[-6] = (size_t)pOVar87;\n          psVar82[-7] = 0x16;\n          psVar82[-8] = (size_t)&status;\n          psVar82[-9] = 0x8a935;\n          gold::Output_reloc<9,_true,_64,_false>::Output_reloc\n                    ((Output_reloc<9,_true,_64,_false> *)psVar82[-8],psVar82[-7],\n                     (Output_data *)psVar82[-6],*(Address *)(psVar82 + -5),*(bool *)(psVar82 + -3));\n          local_24 = p_Var86;\n          local_20 = p_Var52;\n          pOVar24 = (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).\n                    super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>\n                    ._M_impl._M_finish;\n          if (pOVar24 ==\n              (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).\n              super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>\n              ._M_impl._M_end_of_storage) {\n            psVar82[-2] = (size_t)&status;\n            psVar82[-3] = (size_t)pOVar24;\n            psVar82[-4] = (size_t)&((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_\n                                   )->relocs_;\n            psVar82[-5] = 0x8a975;\n            std::\n            vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>\n            ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_64,_false>&>\n                      ((vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>\n                        *)psVar82[-4],(Output_reloc<4,_true,_64,_false> *)psVar82[-3],\n                       (Output_reloc<4,_true,_64,_false> *)psVar82[-2]);\n            pOVar46 = (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).\n                      super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>\n                      ._M_impl._M_finish;\n          }\n          else {\n            pOVar46 = pOVar24 + 1;\n            (pOVar24->rel_).u1_ = (anon_union_4_4_c82d8563_for_u1_)status;\n            (pOVar24->rel_).u2_.relobj = (Sized_relobj<64,_false> *)local_3c;\n            *(int *)&(pOVar24->rel_).address_ = local_38;\n            *(Powerpc_relobj<64,_false> **)((int)&(pOVar24->rel_).address_ + 4) = local_34;\n            (pOVar24->rel_).local_sym_index_ = local_30;\n            *(uint *)&(pOVar24->rel_).field_0x14 = local_2c;\n            (pOVar24->rel_).shndx_ = local_28;\n            *(_Hash_node_base **)&pOVar24->addend_ = p_Var86;\n            *(_Hash_node_base **)((int)&pOVar24->addend_ + 4) = p_Var52;\n            (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).\n            super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>\n            ._M_impl._M_finish = pOVar46;\n          }\n          iVar59 = (int)pOVar46 -\n                   (int)(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_\n                        ).\n                        super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>\n                        ._M_impl._M_start >> 2;\n          iVar47 = iVar59 * 0x38e38e39;\n          if (((((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->\n               super_Output_data_reloc_generic).super_Output_section_data_build.\n               super_Output_section_data.super_Output_data.field_0x1c & 2) != 0) {\n            psVar82[-1] = iVar47;\n            psVar82[-2] = (size_t)"set_current_data_size_for_child";\n            psVar82[-3] = 0x231;\n            psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */\n            psVar82[-5] = 0x8c3da;\n            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n          }\n          *(int *)&(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->\n                   super_Output_data_reloc_generic).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ = iVar59 * 0x55555558;\n          *(undefined4 *)\n           ((int)&(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->\n                  super_Output_data_reloc_generic).super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data.data_size_ + 4) = 0;\n          puVar65 = &(pOVar87->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x1c;\n          *puVar65 = *puVar65 | 0x10;\n          if ((local_2c & 0x10000000) != 0) {\n            psVar81 = &(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->\n                       super_Output_data_reloc_generic).relative_reloc_count_;\n            *psVar81 = *psVar81 + 1;\n          }\n          if ((local_28 != 0xfffffffc) && (local_3c != (Powerpc_relobj<64,_false> *)0x0)) {\n            fVar14 = ((_Prime_rehash_policy *)\n                     &(local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.dyn_reloc_count_)->_M_max_load_factor;\n            if (fVar14 == 0.0) {\n              (local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n              super_Relobj.first_dyn_reloc_ = iVar47 - 1;\n            }\n            ((_Prime_rehash_policy *)\n            &(local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n             super_Relobj.dyn_reloc_count_)->_M_max_load_factor = (float)((int)fVar14 + 1);\n          }\n          p_Var89 = p_Var89->_M_nxt;\n          pOVar87 = this->brlt_section_;\n          if (p_Var89 == (_Hash_node_base *)0x0) break;\n          local_a8 = (pointer)pOVar87->rel_;\n        }\n      }\n      bVar70 = (pOVar87->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x1c;\n      if ((bVar70 & 2) == 0) {\n        if ((bVar70 & 8) != 0) {\n          psVar82[-1] = (size_t)p_Var89;\n          psVar82[-2] = (size_t)"set_data_size";\n          psVar82[-3] = 0x218;\n          psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */\n          psVar82[-5] = 0x8c265;\n          gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n        }\n        (pOVar87->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        field_0x1c = bVar70 | 2;\n      }\n      unaff_EBX = (undefined **)pOVar87->rel_;\n      if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0) {\n        pPVar49 = (Parameters *)\n                  (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;\n        psVar82[-4] = (size_t)unaff_EBX;\n                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */\n        pcVar12 = (code *)pPVar49[1].incremental_mode_;\n        psVar82[-5] = 0x8b1c8;\n        (*pcVar12)();\n        if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0) {\n          psVar82[-1] = (size_t)pOVar87;\n          psVar82[-2] = (size_t)"finalize_data_size";\n          psVar82[-3] = 0x163;\n          psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n          psVar82[-5] = (size_t)&UNK_0008b1f4;\n          gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if (((pGVar51->emit_stub_syms_).user_set_via_option == false) ||\n     ((pGVar51->emit_stub_syms_).value != false)) {\n    local_104 = (this->stub_tables_).\n                super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                ._M_impl._M_start;\n    if (local_104 !=\n        (this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n        ._M_impl._M_finish) {\n      do {\n        pSVar13 = *local_104;\n        uVar84 = (pSVar13->plt_call_stubs_)._M_h._M_element_count;\n        if (uVar84 != 0) {\n          if (0x3fffffff < uVar84) {\n            psVar82[-4] = (size_t)"vector::_M_default_append";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */\n            psVar82[-5] = (size_t)&UNK_0008c2c5;\n            std::__throw_length_error((char *)psVar82[-4]);\n          }\n          psVar82[-4] = uVar84 * 4;\n                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */\n          psVar82[-5] = 0x8b3de;\n          puVar55 = (undefined4 *)operator_new(psVar82[-4]);\n          puVar56 = puVar55;\n          do {\n            *puVar56 = 0;\n            puVar56 = puVar56 + 1;\n          } while (puVar56 != puVar55 + uVar84);\n          for (p_Var89 = (pSVar13->plt_call_stubs_)._M_h._M_before_begin._M_nxt;\n              p_Var89 != (_Hash_node_base *)0x0; p_Var89 = p_Var89->_M_nxt) {\n            puVar55[(int)p_Var89[7]._M_nxt] = p_Var89;\n          }\n          local_dc = 0;\n          if ((pSVar13->plt_call_stubs_)._M_h._M_element_count != 0) {\n            do {\n              __node_gen._M_h = __node_gen._M_h & 0xffffff00;\n              iVar59 = puVar55[local_dc];\n              if (*(int *)(iVar59 + 0xc) != 0 || *(int *)(iVar59 + 0x10) != 0) {\n                psVar82[-2] = *(int *)(iVar59 + 0xc);\n                psVar82[-3] = (size_t)&DAT_002f7061;\n                psVar82[-4] = (size_t)&__node_gen;\n                psVar82[-5] = 0x8b8bc;\n                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);\n              }\n              status = status & 0xffffff00;\n              if (*(int *)(iVar59 + 8) != 0) {\n                psVar82[-2] = *(undefined4 *)(*(int *)(iVar59 + 8) + 0x13c);\n                psVar82[-3] = (size_t)&DAT_002f7065;\n                psVar82[-4] = (size_t)&status;\n                psVar82[-5] = 0x8b4a9;\n                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);\n              }\n              pSVar54 = *(Symbol **)(iVar59 + 4);\n              if (pSVar54 == (Symbol *)0x0) {\n                psVar82[-2] = *(undefined4 *)(iVar59 + 0x14);\n                psVar82[-3] = (size_t)&DAT_002f7062;\n                psVar82[-4] = (size_t)localname;\n                psVar82[-5] = 0x8b955;\n                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);\n                pCVar91 = &status;\n                pcVar58 = localname;\n              }\n              else {\n                pSVar42 = pSVar13->targ_->tls_get_addr_opt_;\n                if ((pSVar42 == (Symbol *)0x0) ||\n                   ((pSVar13->targ_->tls_get_addr_ != pSVar54 && (pSVar54 != pSVar42)))) {\n                  pCVar91 = &status;\n                  pcVar58 = pSVar54->name_;\n                }\n                else {\n                  pCVar91 = &status;\n                  pcVar58 = pSVar42->name_;\n                }\n              }\n              do {\n                pCVar90 = pCVar91;\n                uVar60 = *pCVar90 + 0xfefefeff & ~*pCVar90;\n                uVar84 = uVar60 & 0x80808080;\n                pCVar91 = pCVar90 + 1;\n              } while (uVar84 == 0);\n              bVar92 = (uVar60 & 0x8080) == 0;\n              if (bVar92) {\n                uVar84 = uVar84 >> 0x10;\n              }\n              if (bVar92) {\n                pCVar91 = (Compute_final_value_status *)((int)pCVar90 + 6);\n              }\n              psVar82[-4] = (size_t)pcVar58;\n              psVar82[-5] = 0x8b53f;\n              sVar57 = strlen((char *)psVar82[-4]);\n              p_Var67 = &__node_gen;\n              do {\n                p_Var66 = p_Var67;\n                uVar37 = (uint)(p_Var66->_M_h + -0x1010101) & ~(uint)p_Var66->_M_h;\n                uVar60 = uVar37 & 0x80808080;\n                p_Var67 = p_Var66 + 1;\n              } while (uVar60 == 0);\n              bVar92 = (uVar37 & 0x8080) == 0;\n              if (bVar92) {\n                uVar60 = uVar60 >> 0x10;\n              }\n              if (bVar92) {\n                p_Var67 = (__node_gen_type *)((int)&p_Var66[1]._M_h + 2);\n              }\n              psVar82[-4] = (int)pCVar91 +\n                            (int)p_Var67 +\n                            sVar57 + (-(int)&status - (uint)CARRY1((byte)uVar84,(byte)uVar84)) + 0xd\n                            + (-(int)&__node_gen - (uint)CARRY1((byte)uVar60,(byte)uVar60));\n                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */\n              psVar82[-5] = 0x8b597;\n              pvVar50 = operator_new__(psVar82[-4]);\n              psVar82[-3] = (size_t)&__node_gen;\n              psVar82[-4] = (size_t)pcVar58;\n              psVar82[-5] = (size_t)&status;\n              psVar82[-6] = pSVar13->uniq_;\n              psVar82[-7] = (size_t)"%08x.plt_call.%s%s%s";\n              psVar82[-8] = (size_t)pvVar50;\n              psVar82[-9] = 0x8b5c7;\n              sprintf((char *)psVar82[-8],(char *)psVar82[-7]);\n              if (gold::parameters->options_ == (General_options *)0x0) {\n                psVar82[-2] = (size_t)"options";\n                psVar82[-3] = 0x5c;\n                psVar82[-4] = (size_t)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */\n                psVar82[-5] = 0x8c10e;\n                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n              }\n              uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n              if (uVar84 < 0x20) {\n                uVar84 = 0x20;\n              }\n              if ((pSVar13->field_0x1c & 1) == 0) {\n                psVar82[-2] = (size_t)"address";\n                psVar82[-3] = 0xc5;\n                psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n                psVar82[-5] = (size_t)&UNK_0008b624;\n                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n              }\n              uVar60 = *(uint *)((int)&pSVar13->invalid_address + 4);\n              uVar75 = (uVar84 - 1) + uVar60;\n              uVar78 = pSVar13->orig_data_size_ + uVar75 & -uVar84;\n              uVar37 = *(uint *)(iVar59 + 0x18);\n              iVar47 = *(int *)(iVar59 + 4);\n              uVar79 = uVar78 - uVar60;\n              uVar84 = (((((uVar84 != 0) - 1) + *(int *)&pSVar13->field_0x8 +\n                          (uint)CARRY4(uVar84 - 1,uVar60) +\n                          (uint)CARRY4(pSVar13->orig_data_size_,uVar75) & -(uint)(uVar84 != 0)) -\n                        *(int *)&pSVar13->field_0x8) - (uint)(uVar78 < uVar60)) +\n                       (uint)CARRY4(uVar79,uVar37);\n              pTVar43 = pSVar13->targ_;\n              if (iVar47 == 0) {\n                piVar85 = *(int **)(iVar59 + 8);\n                uVar60 = *(uint *)(iVar59 + 0x14);\n                if ((uint)((piVar85[0x38] - piVar85[0x37] >> 2) * -0x33333333) <= uVar60) {\n                  psVar82[-2] = (size_t)"local_symbol";\n                  psVar82[-3] = 0x8c1;\n                  psVar82[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n                  psVar82[-5] = 0x8c246;\n                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n                }\n                if ((*(byte *)(piVar85[0x37] + 0xb + uVar60 * 0x14) & 0x40) == 0) {\n                  pOVar80 = pTVar43->lplt_;\n                }\n                else {\n                  pOVar80 = pTVar43->iplt_;\n                  if (pOVar80 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    psVar82[-1] = uVar60 * 5;\n                    psVar82[-2] = (size_t)"iplt_section";\n                    psVar82[-3] = 0x372;\n                    psVar82[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */\n                    psVar82[-5] = 0x8c3bb;\n                    gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n                  }\n                }\n                iVar47 = *piVar85;\n                psVar82[-3] = uVar60;\n                psVar82[-4] = (size_t)piVar85;\n                pcVar12 = *(code **)(iVar47 + 0xa8);\n                psVar82[-5] = 0x8b915;\n                iVar47 = (*pcVar12)();\n              }\n              else {\n                if ((*(byte *)(iVar47 + 0x28) & 0xf) == 10) {\n                  if ((*(byte *)(iVar47 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)(iVar47 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      psVar82[-4] = iVar47;\n                      psVar82[-5] = 0x8b982;\n                      bVar92 = gold::Symbol::is_preemptible((Symbol *)psVar82[-4]);\n                      if (bVar92) break;\n                      pOVar80 = pTVar43->iplt_;\n                      if (pOVar80 != (Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_0008b6e1;\n                      psVar82[-1] = 0x8b99d;\n                      iplt_section((Target_powerpc<64,_false> *)*psVar82);\n                      pTVar43 = (Target_powerpc<64,_false> *)0x0;\nLAB_0008b9a0:\n                      if (((*(byte *)(*(int *)(iVar47 + 8) + 0x2c) & 1) != 0) ||\n                         ((*(int *)(iVar47 + 0xc) == 0 && ((*(byte *)(iVar47 + 0x2b) & 0x20) != 0)))\n                         ) break;\n                    }\n                  }\n                }\n                pOVar80 = pTVar43->plt_;\n                if (pOVar80 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                  psVar82[-2] = (size_t)"plt_section";\n                  psVar82[-3] = 0x36a;\n                  psVar82[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */\n                  psVar82[-5] = 0x8c2e9;\n                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n                }\nLAB_0008b6e1:\n                iVar47 = *(int *)(iVar47 + 0x18);\n                if (iVar47 == -1) {\n                  psVar82[-2] = (size_t)"plt_offset";\n                  psVar82[-3] = 0x1ce;\n                  psVar82[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                  psVar82[-5] = 0x8c12f;\n                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n                }\n              }\n              if (((pOVar80->super_Output_section_data_build).super_Output_section_data.\n                   super_Output_data.field_0x1c & 1) == 0) {\n                psVar82[-2] = (size_t)"address";\n                psVar82[-3] = 0xc5;\n                psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n                psVar82[-5] = 0x8c150;\n                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n              }\n              pTVar43 = pSVar13->targ_;\n              if (pTVar43->got_ == (Output_data_got_powerpc<64,_false> *)0x0) {\n                psVar82[-2] = (size_t)"got_section";\n                psVar82[-3] = 0x3ae;\n                psVar82[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                psVar82[-5] = 0x8c171;\n                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n              }\n              pOVar45 = (pTVar43->got_->super_Output_data_got<64,_false>).super_Output_data_got_base\n                        .super_Output_section_data_build.super_Output_section_data.output_section_;\n              if (((pOVar45->super_Output_data).field_0x1c & 1) == 0) {\n                psVar82[-2] = (size_t)"address";\n                psVar82[-3] = 0xc5;\n                psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */\n                psVar82[-5] = 0x8c012;\n                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n              }\n              iVar47 = (iVar47 - (int)(pOVar45->super_Output_data).address_) + -0x8000 +\n                       (int)(pOVar80->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_;\n              uVar60 = iVar47 + 0x8000U >> 0x10;\n              uVar75 = -(uint)(uVar60 == 0) & 0xfffffffc;\n              iVar76 = uVar75 + 0x14;\n              if ((pTVar43->tls_get_addr_opt_ != (Symbol *)0x0) &&\n                 ((*(Symbol **)(iVar59 + 4) == pTVar43->tls_get_addr_ ||\n                  (*(Symbol **)(iVar59 + 4) == pTVar43->tls_get_addr_opt_)))) {\n                iVar76 = uVar75 + 0x48;\n              }\n              pGVar51 = gold::parameters->options_;\n              if ((pTVar43->field_0x8 & 2) == 0) {\n                if (pGVar51 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */\n                  psVar82[-1] = 0x8c225;\n                  Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);\n                }\n                uVar75 = (uint)(pGVar51->plt_static_chain_).value;\n                iVar59 = (uVar75 + 1 + (uint)pTVar43->plt_thread_safe_ * 2) * 4;\n                if (uVar60 != iVar47 + 0x8008 + uVar75 * 8 >> 0x10) {\n                  iVar59 = iVar59 + 4;\n                }\n                iVar76 = iVar76 + iVar59;\n              }\n              else if (pGVar51 == (General_options *)0x0) {\n                psVar82[-2] = (size_t)"options";\n                psVar82[-3] = 0x5c;\n                psVar82[-4] = (size_t)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                psVar82[-5] = (size_t)&UNK_0008b886;\n                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n              }\n              if ((pGVar51->plt_align_).user_set_via_option == false) {\n                uVar60 = 0xffffffe0;\n                iVar59 = 0x20;\n              }\n              else {\n                iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);\n                uVar60 = -iVar59;\n              }\n              psVar82[-2] = 0;\n              psVar82[-3] = uVar84 >> 0x1f;\n              psVar82[-4] = 0;\n              psVar82[-5] = 2;\n              psVar82[-6] = 0;\n              psVar82[-7] = 0;\n              psVar82[-8] = 0;\n              psVar82[-9] = uVar60 & iVar76 + -1 + iVar59;\n              psVar82[-10] = uVar84;\n              psVar82[-0xb] = uVar79 + uVar37;\n              psVar82[-0xc] = (size_t)pSVar13;\n              psVar82[-0xd] = 5;\n              psVar82[-0xe] = 0;\n              psVar82[-0xf] = (size_t)pvVar50;\n              psVar82[-0x10] = (size_t)symtab;\n              psVar82[-0x11] = 0x8b81a;\n              pSVar54 = gold::Symbol_table::define_in_output_data\n                                  ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],\n                                   (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],\n                                   *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),\n                                   psVar82[-7],psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),\n                                   *(bool *)(psVar82 + -3),*(bool *)(psVar82 + -2));\n              pSVar54->dynsym_index_ = 0xffffffff;\n              local_dc = local_dc + 1;\n            } while (local_dc < (pSVar13->plt_call_stubs_)._M_h._M_element_count);\n          }\n          psVar82[-4] = (size_t)puVar55;\n          psVar82[-5] = 0x8b84e;\n          operator_delete((void *)psVar82[-4]);\n        }\n        for (p_Var89 = (pSVar13->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\n            p_Var89 != (_Hash_node_base *)0x0; p_Var89 = p_Var89->_M_nxt) {\n          if (*(char *)&p_Var89[4]._M_nxt == '\0') {\n            psVar82[-4] = 0x26;\n                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */\n            psVar82[-5] = 0x8b00a;\n            pvVar50 = operator_new__(psVar82[-4]);\n            psVar82[-4] = (size_t)p_Var89[2]._M_nxt;\n            psVar82[-5] = (size_t)p_Var89[1]._M_nxt;\n            psVar82[-6] = pSVar13->uniq_;\n            psVar82[-7] = (size_t)"%08x.long_branch.%llx";\n            psVar82[-8] = (size_t)pvVar50;\n            psVar82[-9] = 0x8b02f;\n            sprintf((char *)psVar82[-8],(char *)psVar82[-7]);\n            if (gold::parameters->options_ == (General_options *)0x0) {\n              psVar82[-2] = (size_t)"options";\n              psVar82[-3] = 0x5c;\n              psVar82[-4] = (size_t)"../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */\n              psVar82[-5] = 0x8c0f0;\n              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n            }\n            uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n            if (uVar84 < 0x20) {\n              uVar84 = 0x20;\n            }\n            if ((pSVar13->field_0x1c & 1) == 0) {\n              psVar82[-2] = (size_t)"address";\n              psVar82[-3] = 0xc5;\n              psVar82[-4] = (size_t)"../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n              psVar82[-5] = 0x8b090;\n              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);\n            }\n            uVar60 = *(uint *)((int)&pSVar13->invalid_address + 4);\n            uVar37 = (uVar84 - 1) + uVar60;\n            uVar78 = pSVar13->orig_data_size_ + uVar37 & -uVar84;\n            p_Var86 = p_Var89[5]._M_nxt;\n            uVar79 = ((uVar84 != 0) - 1) + *(int *)&pSVar13->field_0x8 +\n                     (uint)CARRY4(uVar84 - 1,uVar60) + (uint)CARRY4(pSVar13->orig_data_size_,uVar37)\n                     & -(uint)(uVar84 != 0);\n            uVar84 = pSVar13->plt_size_ - uVar60;\n            uVar37 = uVar84 + uVar78;\n            uVar75 = (-(uint)(pSVar13->plt_size_ < uVar60) - *(int *)&pSVar13->field_0x8) + uVar79 +\n                     (uint)CARRY4(uVar84,uVar78) + (uint)CARRY4(uVar37,(uint)p_Var86);\n            uVar84 = 0x2000000 - pSVar13->last_plt_size_;\n            uVar60 = uVar84 - uVar78;\n            p_Var52 = (_Hash_node_base *)(uVar60 + (int)p_Var89[1]._M_nxt);\n            iVar59 = (int)p_Var89[2]._M_nxt +\n                     (((uint)CARRY4(uVar60,(uint)p_Var89[1]._M_nxt) +\n                      ((-uVar79 - (uint)(0x2000000 < pSVar13->last_plt_size_)) -\n                      (uint)(uVar84 < uVar78))) - (uint)(p_Var52 < p_Var86));\n            uVar53 = 4;\n            if (iVar59 != 0 ||\n                (uint)-iVar59 < (uint)(0x3ffffff < (uint)((int)p_Var52 - (int)p_Var86))) {\n              uVar53 = 0x10;\n            }\n            psVar82[-2] = 0;\n            psVar82[-3] = uVar75 >> 0x1f;\n            psVar82[-4] = 0;\n            psVar82[-5] = 2;\n            psVar82[-6] = 0;\n            psVar82[-7] = 0;\n            psVar82[-8] = 0;\n            psVar82[-9] = uVar53;\n            psVar82[-10] = uVar75;\n            psVar82[-0xb] = uVar37 + (int)p_Var86;\n            psVar82[-0xc] = (size_t)pSVar13;\n            psVar82[-0xd] = 5;\n            psVar82[-0xe] = 0;\n            psVar82[-0xf] = (size_t)pvVar50;\n            psVar82[-0x10] = (size_t)symtab;\n            psVar82[-0x11] = 0x8b31a;\n            pSVar54 = gold::Symbol_table::define_in_output_data\n                                ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],\n                                 (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],\n                                 *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),\n                                 psVar82[-7],psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),\n                                 *(bool *)(psVar82 + -3),*(bool *)(psVar82 + -2));\n            pSVar54->dynsym_index_ = 0xffffffff;\n          }\n        }\n        local_104 = local_104 + 1;\n      } while ((this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n               ._M_impl._M_finish != local_104);\n    }\n    pOVar28 = this->glink_;\n    if (pOVar28 != (Output_data_glink<64,_false> *)0x0) {\n      uVar53 = 0x2c;\n      if ((pOVar28->targ_->field_0x8 & 2) != 0) {\n        uVar53 = 0x38;\n      }\n      psVar82[-2] = 0;\n      psVar82[-3] = 0;\n      psVar82[-4] = 0;\n      psVar82[-5] = 2;\n      psVar82[-6] = 0;\n      psVar82[-7] = 0;\n      psVar82[-8] = 0;\n      psVar82[-9] = uVar53;\n      psVar82[-10] = 0;\n      psVar82[-0xb] = 8;\n      psVar82[-0xc] = (size_t)pOVar28;\n      psVar82[-0xd] = 5;\n      psVar82[-0xe] = 0;\n      psVar82[-0xf] = (size_t)"__glink_PLTresolve";\n      psVar82[-0x10] = (size_t)symtab;\n      psVar82[-0x11] = 0x8b3a7;\n      pSVar54 = gold::Symbol_table::define_in_output_data\n                          ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],\n                           (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],\n                           *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),psVar82[-7],\n                           psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),*(bool *)(psVar82 + -3),\n                           *(bool *)(psVar82 + -2));\n      pSVar54->dynsym_index_ = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  local_10c = &os_need_update;\n  psVar82[-4] = (size_t)local_10c;\n  psVar82[-5] = 0x8ad0e;\n  std::\n  _Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>\n  ::~_Hashtable((_Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>\n                 *)psVar82[-4],psVar82[-3]);\n  return local_fc;\n}\n\n" comment comment comment comment comment comment comment (declaration "bool __thiscall\nanon_unknown.dwarf_2af53c::Target_powerpc<64,_false>::do_relax\n          (Target_powerpc<64,_false> *this,int pass,Input_objects *param_2,Symbol_table *symtab,\n          Layout *layout,Task *task)\n\n{\n  Input_file **ppIVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_2af53c::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_relax\n          (Target_powerpc<64,_false> *this,int pass,Input_objects *param_2,Symbol_table *symtab,\n          Layout *layout,Task *task)\n\n{\n  Input_file" identifier > : : (function_declarator "do_relax\n          (Target_powerpc<64,_false> *this,int pass,Input_objects *param_2,Symbol_table *symtab,\n          Layout *layout,Task *task)" identifier (parameter_list "(Target_powerpc<64,_false> *this,int pass,Input_objects *param_2,Symbol_table *symtab,\n          Layout *layout,Task *task)" ( (parameter_declaration "Target_powerpc" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "int pass" primitive_type identifier) , (parameter_declaration "Input_objects *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Task *task" type_identifier (pointer_declarator "*task" * identifier)) ))) { identifier) (pointer_declarator "**ppIVar1" * (pointer_declarator "*ppIVar1" * identifier)) ;) (declaration "uint64_t *puVar2;" primitive_type (pointer_declarator "*puVar2" * identifier) ;) (declaration "string *psVar3;" type_identifier (pointer_declarator "*psVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "Parameters **ppPVar5;" type_identifier (pointer_declarator "**ppPVar5" * (pointer_declarator "*ppPVar5" * identifier)) ;) (ERROR "vector<long_long_unsigned_int," (binary_expression "vector<long_long_unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<long_long_unsigned_int>_> *pvVar6;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<long_long_unsigned_int>_> *pvVar6;" (binary_expression "allocator<long_long_unsigned_int>_> *pvVar6" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > (pointer_expression "*pvVar6" * identifier)) ;)) (declaration "size_type *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "Xindex *pXVar9;" type_identifier (pointer_declarator "*pXVar9" * identifier) ;) (expression_statement "Output_data_save_res<64,_false> *pOVar10;" (update_expression "Output_data_save_res<64,_false> *pOVar10" (binary_expression "Output_data_save_res<64,_false> *pOVar10" (binary_expression "Output_data_save_res<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar10" * identifier)) --) ;) (declaration "_func_int_varargs **pp_Var11;" type_identifier (pointer_declarator "**pp_Var11" * (pointer_declarator "*pp_Var11" * identifier)) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (expression_statement "Stub_table<64,_false> *pSVar13;" (update_expression "Stub_table<64,_false> *pSVar13" (binary_expression "Stub_table<64,_false> *pSVar13" (binary_expression "Stub_table<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar13" * identifier)) --) ;) (declaration "float fVar14;" primitive_type identifier ;) (declaration "__bucket_type p_Var15;" type_identifier identifier ;) (declaration "Compute_final_value_status CVar16;" type_identifier identifier ;) (declaration "Timer *pTVar17;" type_identifier (pointer_declarator "*pTVar17" * identifier) ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "pointer ppOVar19;" type_identifier identifier ;) (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *pvVar20" (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Relocatable_relocs*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Relocatable_relocs*>_> *pvVar20" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*pvVar20" * identifier))) (expression_statement ";" ;) (declaration "Errors *pEVar21;" type_identifier (pointer_declarator "*pEVar21" * identifier) ;) (declaration "pointer puVar22;" type_identifier identifier ;) (declaration "General_options *pGVar23;" type_identifier (pointer_declarator "*pGVar23" * identifier) ;) (declaration "pointer pOVar24;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var25;" type_identifier (pointer_declarator "*p_Var25" * identifier) ;) (declaration "_Hash_node_base *p_Var26;" type_identifier (pointer_declarator "*p_Var26" * identifier) ;) (declaration "pointer pSVar27;" type_identifier identifier ;) (expression_statement "Output_data_glink<64,_false> *pOVar28;" (update_expression "Output_data_glink<64,_false> *pOVar28" (binary_expression "Output_data_glink<64,_false> *pOVar28" (binary_expression "Output_data_glink<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar28" * identifier)) --) ;) (declaration "Target *pTVar29;" type_identifier (pointer_declarator "*pTVar29" * identifier) ;) (declaration "longlong lVar30;" type_identifier identifier ;) (declaration "Address AVar31;" type_identifier identifier ;) (expression_statement "Sized_relobj<64,_false> *pSVar32;" (update_expression "Sized_relobj<64,_false> *pSVar32" (binary_expression "Sized_relobj<64,_false> *pSVar32" (binary_expression "Sized_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar32" * identifier)) --) ;) (declaration "__node_base _Var33;" type_identifier identifier ;) (declaration "Address AVar34;" type_identifier identifier ;) (declaration "uint *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "undefined1 uVar36;" type_identifier identifier ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "pointer puVar38;" type_identifier identifier ;) (declaration "pointer ppSVar39;" type_identifier identifier ;) (expression_statement "Powerpc_relobj<64,_false> *pPVar40;" (update_expression "Powerpc_relobj<64,_false> *pPVar40" (binary_expression "Powerpc_relobj<64,_false> *pPVar40" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pPVar40" * identifier)) --) ;) (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "__node_base *p_Var41;" type_identifier (pointer_declarator "*p_Var41" * identifier) ;) (declaration "Symbol *pSVar42;" type_identifier (pointer_declarator "*pSVar42" * identifier) ;) (expression_statement "Target_powerpc<64,_false> *pTVar43;" (update_expression "Target_powerpc<64,_false> *pTVar43" (binary_expression "Target_powerpc<64,_false> *pTVar43" (binary_expression "Target_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pTVar43" * identifier)) --) ;) (declaration "Compute_final_local_value_status CVar44;" type_identifier identifier ;) (declaration "Output_section *pOVar45;" type_identifier (pointer_declarator "*pOVar45" * identifier) ;) (declaration "pointer pOVar46;" type_identifier identifier ;) (declaration "int iVar47;" primitive_type identifier ;) (declaration "Relobj *pRVar48;" type_identifier (pointer_declarator "*pRVar48" * identifier) ;) (declaration "Parameters *pPVar49;" type_identifier (pointer_declarator "*pPVar49" * identifier) ;) (declaration "void *pvVar50;" primitive_type (pointer_declarator "*pvVar50" * identifier) ;) (declaration "General_options *pGVar51;" type_identifier (pointer_declarator "*pGVar51" * identifier) ;) (declaration "_Hash_node_base *p_Var52;" type_identifier (pointer_declarator "*p_Var52" * identifier) ;) (declaration "undefined4 uVar53;" type_identifier identifier ;) (declaration "Symbol *pSVar54;" type_identifier (pointer_declarator "*pSVar54" * identifier) ;) (declaration "undefined4 *puVar55;" type_identifier (pointer_declarator "*puVar55" * identifier) ;) (declaration "undefined4 *puVar56;" type_identifier (pointer_declarator "*puVar56" * identifier) ;) (declaration "size_t sVar57;" primitive_type identifier ;) (declaration "char *pcVar58;" primitive_type (pointer_declarator "*pcVar58" * identifier) ;) (declaration "int iVar59;" primitive_type identifier ;) (declaration "uint uVar60;" type_identifier identifier ;) (declaration "uchar *puVar61;" type_identifier (pointer_declarator "*puVar61" * identifier) ;) (declaration "_Hash_node_base *p_Var62;" type_identifier (pointer_declarator "*p_Var62" * identifier) ;) (declaration "pointer pcVar63;" type_identifier identifier ;) (expression_statement "Powerpc_relobj<64,_false> *pPVar64;" (update_expression "Powerpc_relobj<64,_false> *pPVar64" (binary_expression "Powerpc_relobj<64,_false> *pPVar64" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pPVar64" * identifier)) --) ;) (declaration "undefined1 *puVar65;" type_identifier (pointer_declarator "*puVar65" * identifier) ;) (declaration "__node_gen_type *p_Var66;" type_identifier (pointer_declarator "*p_Var66" * identifier) ;) (declaration "__node_gen_type *p_Var67;" type_identifier (pointer_declarator "*p_Var67" * identifier) ;) (declaration "_Hash_node_base *p_Var68;" type_identifier (pointer_declarator "*p_Var68" * identifier) ;) (declaration "__bucket_type *pp_Var69;" type_identifier (pointer_declarator "*pp_Var69" * identifier) ;) (declaration "byte bVar70;" type_identifier identifier ;) (declaration "pointer puVar71;" type_identifier identifier ;) (declaration "pointer ppSVar72;" type_identifier identifier ;) (declaration "size_type sVar73;" type_identifier identifier ;) (declaration "pointer puVar74;" type_identifier identifier ;) (declaration "uint uVar75;" type_identifier identifier ;) (declaration "int iVar76;" primitive_type identifier ;) (declaration "undefined **unaff_EBX;" type_identifier (pointer_declarator "**unaff_EBX" * (pointer_declarator "*unaff_EBX" * identifier)) ;) (declaration "pointer puVar77;" type_identifier identifier ;) (declaration "uint uVar78;" type_identifier identifier ;) (declaration "uint uVar79;" type_identifier identifier ;) (expression_statement "Output_data_plt_powerpc<64,_false> *pOVar80;" (update_expression "Output_data_plt_powerpc<64,_false> *pOVar80" (binary_expression "Output_data_plt_powerpc<64,_false> *pOVar80" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar80" * identifier)) --) ;) (declaration "size_t *psVar81;" primitive_type (pointer_declarator "*psVar81" * identifier) ;) (declaration "size_t *psVar82;" primitive_type (pointer_declarator "*psVar82" * identifier) ;) (declaration "size_t *psVar83;" primitive_type (pointer_declarator "*psVar83" * identifier) ;) (declaration "uint uVar84;" type_identifier identifier ;) (declaration "int *piVar85;" primitive_type (pointer_declarator "*piVar85" * identifier) ;) (declaration "_Hash_node_base *p_Var86;" type_identifier (pointer_declarator "*p_Var86" * identifier) ;) (expression_statement "Output_data_brlt_powerpc<64,_false> *pOVar87;" (update_expression "Output_data_brlt_powerpc<64,_false> *pOVar87" (binary_expression "Output_data_brlt_powerpc<64,_false> *pOVar87" (binary_expression "Output_data_brlt_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar87" * identifier)) --) ;) (declaration "Target *pTVar88;" type_identifier (pointer_declarator "*pTVar88" * identifier) ;) (declaration "_Hash_node_base *p_Var89;" type_identifier (pointer_declarator "*p_Var89" * identifier) ;) (declaration "Compute_final_value_status *pCVar90;" type_identifier (pointer_declarator "*pCVar90" * identifier) ;) (declaration "Compute_final_value_status *pCVar91;" type_identifier (pointer_declarator "*pCVar91" * identifier) ;) (declaration "bool bVar92;" primitive_type identifier ;) (declaration "Value_type VVar93;" type_identifier identifier ;) (declaration "Address AVar94;" type_identifier identifier ;) (declaration "Value VVar95;" type_identifier identifier ;) (declaration "undefined8 uVar96;" type_identifier identifier ;) (declaration "off_t oVar97;" type_identifier identifier ;) (declaration "longlong lVar98;" type_identifier identifier ;) (declaration "uchar auStack_18c [48];" type_identifier (array_declarator "auStack_18c [48]" identifier [ number_literal ]) ;) (expression_statement "Target_powerpc<64,_false> *in_stack_fffffeb4;" (update_expression "Target_powerpc<64,_false> *in_stack_fffffeb4" (binary_expression "Target_powerpc<64,_false> *in_stack_fffffeb4" (binary_expression "Target_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*in_stack_fffffeb4" * identifier)) --) ;) (declaration "Layout *in_stack_fffffeb8;" type_identifier (pointer_declarator "*in_stack_fffffeb8" * identifier) ;) (declaration "Task *in_stack_fffffebc;" type_identifier (pointer_declarator "*in_stack_fffffebc" * identifier) ;) (declaration "undefined4 in_stack_fffffec0;" type_identifier identifier ;) (declaration "uint local_130;" type_identifier identifier ;) (declaration "size_type *local_12c;" type_identifier (pointer_declarator "*local_12c" * identifier) ;) (declaration "bool local_121;" primitive_type identifier ;) (declaration "size_type local_120;" type_identifier identifier ;) (expression_statement "Powerpc_relobj<64,_false> *local_110;" (update_expression "Powerpc_relobj<64,_false> *local_110" (binary_expression "Powerpc_relobj<64,_false> *local_110" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_110" * identifier)) --) ;) (declaration "Output_sections *local_10c;" type_identifier (pointer_declarator "*local_10c" * identifier) ;) (expression_statement "Powerpc_relobj<64,_false> *local_108;" (update_expression "Powerpc_relobj<64,_false> *local_108" (binary_expression "Powerpc_relobj<64,_false> *local_108" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_108" * identifier)) --) ;) (declaration "pointer local_104;" type_identifier identifier ;) (declaration "bool local_fc;" primitive_type identifier ;) (declaration "_Hash_node_base *local_f4;" type_identifier (pointer_declarator "*local_f4" * identifier) ;) (declaration "uint local_e4;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "pointer local_cc;" type_identifier identifier ;) (declaration "uint local_c8;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "Compute_final_value_status *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_b8;" primitive_type identifier ;) (expression_statement "Powerpc_relobj<64,_false> *local_b4;" (update_expression "Powerpc_relobj<64,_false> *local_b4" (binary_expression "Powerpc_relobj<64,_false> *local_b4" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_b4" * identifier)) --) ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "undefined **local_ac;" type_identifier (pointer_declarator "**local_ac" * (pointer_declarator "*local_ac" * identifier)) ;) (declaration "pointer local_a8;" type_identifier identifier ;) (declaration "undefined1 local_a4 [8];" type_identifier (array_declarator "local_a4 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_9c [8];" type_identifier (array_declarator "local_9c [8]" identifier [ number_literal ]) ;) (declaration "char local_94 [4];" primitive_type (array_declarator "local_94 [4]" identifier [ number_literal ]) ;) (declaration "uint *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (expression_statement "Powerpc_relobj<64,_false> *local_8c;" (update_expression "Powerpc_relobj<64,_false> *local_8c" (binary_expression "Powerpc_relobj<64,_false> *local_8c" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_8c" * identifier)) --) ;) (declaration "char local_88;" primitive_type identifier ;) (declaration "undefined1 local_84 [4];" type_identifier (array_declarator "local_84 [4]" identifier [ number_literal ]) ;) (declaration "char local_80;" primitive_type identifier ;) (declaration "char localname [9];" primitive_type (array_declarator "localname [9]" identifier [ number_literal ]) ;) (declaration "__node_gen_type __node_gen;" type_identifier identifier ;) (declaration "Output_sections os_need_update;" type_identifier identifier ;) (declaration "Compute_final_value_status status;" type_identifier identifier ;) (expression_statement "Powerpc_relobj<64,_false> *local_3c;" (update_expression "Powerpc_relobj<64,_false> *local_3c" (binary_expression "Powerpc_relobj<64,_false> *local_3c" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_3c" * identifier)) --) ;) (declaration "int local_38;" primitive_type identifier ;) (expression_statement "Powerpc_relobj<64,_false> *local_34;" (update_expression "Powerpc_relobj<64,_false> *local_34" (binary_expression "Powerpc_relobj<64,_false> *local_34" (binary_expression "Powerpc_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_34" * identifier)) --) ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "_Hash_node_base *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "_Hash_node_base *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "uVar36 = (undefined1)in_stack_fffffec0;" (assignment_expression "uVar36 = (undefined1)in_stack_fffffec0" identifier = (cast_expression "(undefined1)in_stack_fffffec0" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "psVar82 = (size_t *)&stack0xfffffeb4;" (assignment_expression "psVar82 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ;) if (parenthesized_expression "(pass == 1)" ( (binary_expression "pass == 1" identifier == number_literal) )) (compound_statement "{\n    pGVar51 = gold::parameters->options_;\n    if ((this->field_0x8 & 2) == 0) {\n      if (pGVar51 == (General_options *)0x0) goto LAB_0008c0b4;\n      bVar92 = (pGVar51->plt_thread_safe_).value;\n      if (((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&\n         (bVar92 = (pGVar51->shared_).value, bVar92 == false)) {\n        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1\n                            ::thread_starter;\n        pcVar58 = "pthread_create";\n        while( true ) {\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }\n        pGVar51 = gold::parameters->options_;\n        bVar92 = false;\n        goto LAB_0008b0b0;\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      this->plt_thread_safe_ = bVar92;\n      if (iVar59 != 1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      this->stub_group_size_ = 0x1c00000;\n    }\n    else {\n      bVar92 = false;\nLAB_0008b0b0:\n      this->plt_thread_safe_ = bVar92;\n      psVar82 = (size_t *)&stack0xfffffeb4;\n      if (pGVar51 == (General_options *)0x0) {\nLAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      if (iVar59 == 1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (iVar59 == -1) {\n        this->stub_group_size_ = -0x1e00000;\n      }\n      else {\n        this->stub_group_size_ = iVar59;\n      }\n    }\n    group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);\n    local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n               ._M_impl._M_start;\n    if ((this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n        ._M_impl._M_finish != local_cc) goto LAB_00088eb5;\n    local_120 = 0;\nLAB_0008b10a:\n    local_110 = (Powerpc_relobj<64,_false> *)0x0;\n    iVar59 = 0;\n    this->relax_failed_ = false;\n  }" { (expression_statement "pGVar51 = gold::parameters->options_;" (field_expression "pGVar51 = gold::parameters->options_" (assignment_expression "pGVar51 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if ((this->field_0x8 & 2) == 0) {\n      if (pGVar51 == (General_options *)0x0) goto LAB_0008c0b4;\n      bVar92 = (pGVar51->plt_thread_safe_).value;\n      if (((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&\n         (bVar92 = (pGVar51->shared_).value, bVar92 == false)) {\n        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1\n                            ::thread_starter;\n        pcVar58 = "pthread_create";\n        while( true ) {\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }\n        pGVar51 = gold::parameters->options_;\n        bVar92 = false;\n        goto LAB_0008b0b0;\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      this->plt_thread_safe_ = bVar92;\n      if (iVar59 != 1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      this->stub_group_size_ = 0x1c00000;\n    }\n    else {\n      bVar92 = false;\nLAB_0008b0b0:\n      this->plt_thread_safe_ = bVar92;\n      psVar82 = (size_t *)&stack0xfffffeb4;\n      if (pGVar51 == (General_options *)0x0) {\nLAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      if (iVar59 == 1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (iVar59 == -1) {\n        this->stub_group_size_ = -0x1e00000;\n      }\n      else {\n        this->stub_group_size_ = iVar59;\n      }\n    }" if (parenthesized_expression "((this->field_0x8 & 2) == 0)" ( (binary_expression "(this->field_0x8 & 2) == 0" (parenthesized_expression "(this->field_0x8 & 2)" ( (binary_expression "this->field_0x8 & 2" (field_expression "this->field_0x8" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (pGVar51 == (General_options *)0x0) goto LAB_0008c0b4;\n      bVar92 = (pGVar51->plt_thread_safe_).value;\n      if (((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&\n         (bVar92 = (pGVar51->shared_).value, bVar92 == false)) {\n        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1\n                            ::thread_starter;\n        pcVar58 = "pthread_create";\n        while( true ) {\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }\n        pGVar51 = gold::parameters->options_;\n        bVar92 = false;\n        goto LAB_0008b0b0;\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      this->plt_thread_safe_ = bVar92;\n      if (iVar59 != 1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      this->stub_group_size_ = 0x1c00000;\n    }" { (if_statement "if (pGVar51 == (General_options *)0x0) goto LAB_0008c0b4;" if (parenthesized_expression "(pGVar51 == (General_options *)0x0)" ( (binary_expression "pGVar51 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0008c0b4;" goto statement_identifier ;)) (expression_statement "bVar92 = (pGVar51->plt_thread_safe_).value;" (assignment_expression "bVar92 = (pGVar51->plt_thread_safe_).value" identifier = (field_expression "(pGVar51->plt_thread_safe_).value" (parenthesized_expression "(pGVar51->plt_thread_safe_)" ( (field_expression "pGVar51->plt_thread_safe_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&\n         (bVar92 = (pGVar51->shared_).value, bVar92 == false)) {\n        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1\n                            ::thread_starter;\n        pcVar58 = "pthread_create";\n        while( true ) {\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }\n        pGVar51 = gold::parameters->options_;\n        bVar92 = false;\n        goto LAB_0008b0b0;\n      }" if (parenthesized_expression "(((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&\n         (bVar92 = (pGVar51->shared_).value, bVar92 == false))" ( (binary_expression "((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&\n         (bVar92 = (pGVar51->shared_).value, bVar92 == false)" (parenthesized_expression "((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false))" ( (binary_expression "(bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)" (parenthesized_expression "(bVar92 == false)" ( (binary_expression "bVar92 == false" identifier == false) )) && (parenthesized_expression "((pGVar51->plt_thread_safe_).user_set_via_option == false)" ( (binary_expression "(pGVar51->plt_thread_safe_).user_set_via_option == false" (field_expression "(pGVar51->plt_thread_safe_).user_set_via_option" (parenthesized_expression "(pGVar51->plt_thread_safe_)" ( (field_expression "pGVar51->plt_thread_safe_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) && (parenthesized_expression "(bVar92 = (pGVar51->shared_).value, bVar92 == false)" ( (comma_expression "bVar92 = (pGVar51->shared_).value, bVar92 == false" (assignment_expression "bVar92 = (pGVar51->shared_).value" identifier = (field_expression "(pGVar51->shared_).value" (parenthesized_expression "(pGVar51->shared_)" ( (field_expression "pGVar51->shared_" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "bVar92 == false" identifier == false)) ))) )) (compound_statement "{\n        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1\n                            ::thread_starter;\n        pcVar58 = "pthread_create";\n        while( true ) {\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }\n        pGVar51 = gold::parameters->options_;\n        bVar92 = false;\n        goto LAB_0008b0b0;\n      }" { (ERROR "local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::" (comma_expression "local_a8 = (pointer)Target_powerpc<64,_true>::do_relax" (assignment_expression "local_a8 = (pointer)Target_powerpc<64" identifier = (binary_expression "(pointer)Target_powerpc<64" (cast_expression "(pointer)Target_powerpc" ( (type_descriptor "pointer" type_identifier) ) identifier) < number_literal)) , (binary_expression "_true>::do_relax" identifier > (ERROR "::" : :) identifier)) : :) (labeled_statement "lexical_block_14::lexical_block_14_1\n                            ::thread_starter;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_1\n                            ::thread_starter;" statement_identifier : (ERROR ":" :) (expression_statement "thread_starter;" identifier ;))) (expression_statement "pcVar58 = "pthread_create";" (assignment_expression "pcVar58 = "pthread_create"" identifier = (string_literal ""pthread_create"" " string_content ")) ;) (while_statement "while( true ) {\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          local_a8 = (pointer)((int)local_a8 + 4);\n          local_ac = &_GLOBAL_OFFSET_TABLE_;\n          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          unaff_EBX = local_ac;\n          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (pointer)&gold::Archive::vtable) break;\n          pcVar58 = *(char **)local_a8;\n        }" { (expression_statement "local_a8 = (pointer)((int)local_a8 + 4);" (assignment_expression "local_a8 = (pointer)((int)local_a8 + 4)" identifier = (call_expression "(pointer)((int)local_a8 + 4)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_a8 + 4)" ( (binary_expression "(int)local_a8 + 4" (cast_expression "(int)local_a8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_ac = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_ac = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (ERROR "pSVar54 = gold::" (assignment_expression "pSVar54 = gold" identifier = identifier) : :) (labeled_statement "Symbol_table::lookup(symtab,pcVar58,(char *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "lookup(symtab,pcVar58,(char *)0x0);" (call_expression "lookup(symtab,pcVar58,(char *)0x0)" identifier (argument_list "(symtab,pcVar58,(char *)0x0)" ( identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "uVar36 = (undefined1)in_stack_fffffec0;" (assignment_expression "uVar36 = (undefined1)in_stack_fffffec0" identifier = (cast_expression "(undefined1)in_stack_fffffec0" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "unaff_EBX = local_ac;" (assignment_expression "unaff_EBX = local_ac" identifier = identifier) ;) (if_statement "if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)) {\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }" if (parenthesized_expression "(((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0))" ( (binary_expression "((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&\n             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)" (parenthesized_expression "((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0'))" ( (binary_expression "(pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')" (parenthesized_expression "(pSVar54 != (Symbol *)0x0)" ( (binary_expression "pSVar54 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((char)pSVar54->field_0x2a < '\0')" ( (binary_expression "(char)pSVar54->field_0x2a < '\0'" (cast_expression "(char)pSVar54->field_0x2a" ( (type_descriptor "char" primitive_type) ) (field_expression "pSVar54->field_0x2a" identifier -> field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0)" ( (comma_expression "bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0" (assignment_expression "bVar70 = (byte)pSVar54->field_0x2b >> 6" identifier = (binary_expression "(byte)pSVar54->field_0x2b >> 6" (cast_expression "(byte)pSVar54->field_0x2b" ( (type_descriptor "byte" type_identifier) ) (field_expression "pSVar54->field_0x2b" identifier -> field_identifier)) >> number_literal)) , (comma_expression "bVar92 = (bool)(bVar70 & 1),\n             (bVar70 & 1) != 0" (assignment_expression "bVar92 = (bool)(bVar70 & 1)" identifier = (cast_expression "(bool)(bVar70 & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar70 & 1)" ( (binary_expression "bVar70 & 1" identifier & number_literal) )))) , (binary_expression "(bVar70 & 1) != 0" (parenthesized_expression "(bVar70 & 1)" ( (binary_expression "bVar70 & 1" identifier & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n            pGVar51 = gold::parameters->options_;\n            goto LAB_0008b0b0;\n          }" { (expression_statement "pGVar51 = gold::parameters->options_;" (field_expression "pGVar51 = gold::parameters->options_" (assignment_expression "pGVar51 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (goto_statement "goto LAB_0008b0b0;" goto statement_identifier ;) })) (if_statement "if (local_a8 == (pointer)&gold::Archive::vtable) break;" if (parenthesized_expression "(local_a8 == (pointer)&gold::Archive::vtable)" ( (binary_expression "local_a8 == (pointer)&gold" (binary_expression "local_a8 == (pointer)" identifier == (parenthesized_expression "(pointer)" ( identifier ))) & identifier) (ERROR "::Archive::vtable" : : identifier : : identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar58 = *(char **)local_a8;" (assignment_expression "pcVar58 = *(char **)local_a8" identifier = (pointer_expression "*(char **)local_a8" * (cast_expression "(char **)local_a8" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "pGVar51 = gold::parameters->options_;" (field_expression "pGVar51 = gold::parameters->options_" (assignment_expression "pGVar51 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (expression_statement "bVar92 = false;" (assignment_expression "bVar92 = false" identifier = false) ;) (goto_statement "goto LAB_0008b0b0;" goto statement_identifier ;) })) (expression_statement "iVar59 = (pGVar51->stub_group_size_).value;" (assignment_expression "iVar59 = (pGVar51->stub_group_size_).value" identifier = (field_expression "(pGVar51->stub_group_size_).value" (parenthesized_expression "(pGVar51->stub_group_size_)" ( (field_expression "pGVar51->stub_group_size_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "this->plt_thread_safe_ = bVar92;" (assignment_expression "this->plt_thread_safe_ = bVar92" (field_expression "this->plt_thread_safe_" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar59 != 1) goto LAB_0008b0d5;" if (parenthesized_expression "(iVar59 != 1)" ( (binary_expression "iVar59 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0008b0d5;" goto statement_identifier ;)) (labeled_statement "LAB_0008bbcb:\n      this->stub_group_size_ = 0x1c00000;" statement_identifier : (expression_statement "this->stub_group_size_ = 0x1c00000;" (assignment_expression "this->stub_group_size_ = 0x1c00000" (field_expression "this->stub_group_size_" identifier -> field_identifier) = number_literal) ;)) }) (else_clause "else {\n      bVar92 = false;\nLAB_0008b0b0:\n      this->plt_thread_safe_ = bVar92;\n      psVar82 = (size_t *)&stack0xfffffeb4;\n      if (pGVar51 == (General_options *)0x0) {\nLAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      if (iVar59 == 1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (iVar59 == -1) {\n        this->stub_group_size_ = -0x1e00000;\n      }\n      else {\n        this->stub_group_size_ = iVar59;\n      }\n    }" else (compound_statement "{\n      bVar92 = false;\nLAB_0008b0b0:\n      this->plt_thread_safe_ = bVar92;\n      psVar82 = (size_t *)&stack0xfffffeb4;\n      if (pGVar51 == (General_options *)0x0) {\nLAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }\n      iVar59 = (pGVar51->stub_group_size_).value;\n      if (iVar59 == 1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (iVar59 == -1) {\n        this->stub_group_size_ = -0x1e00000;\n      }\n      else {\n        this->stub_group_size_ = iVar59;\n      }\n    }" { (expression_statement "bVar92 = false;" (assignment_expression "bVar92 = false" identifier = false) ;) (labeled_statement "LAB_0008b0b0:\n      this->plt_thread_safe_ = bVar92;" statement_identifier : (expression_statement "this->plt_thread_safe_ = bVar92;" (assignment_expression "this->plt_thread_safe_ = bVar92" (field_expression "this->plt_thread_safe_" identifier -> field_identifier) = identifier) ;)) (expression_statement "psVar82 = (size_t *)&stack0xfffffeb4;" (assignment_expression "psVar82 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ;) (if_statement "if (pGVar51 == (General_options *)0x0) {\nLAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }" if (parenthesized_expression "(pGVar51 == (General_options *)0x0)" ( (binary_expression "pGVar51 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";\n        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;\n        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));\n      }" { (labeled_statement "LAB_0008c0b4:\n        *(char **)((int)psVar82 + -8) = "options";" statement_identifier : (expression_statement "*(char **)((int)psVar82 + -8) = "options";" (assignment_expression "*(char **)((int)psVar82 + -8) = "options"" (pointer_expression "*(char **)((int)psVar82 + -8)" * (cast_expression "(char **)((int)psVar82 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar82 + -8)" ( (binary_expression "(int)psVar82 + -8" (cast_expression "(int)psVar82" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""options"" " string_content ")) ;)) (expression_statement "*(undefined4 *)((int)psVar82 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)psVar82 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)psVar82 + -0xc)" * (cast_expression "(undefined4 *)((int)psVar82 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar82 + -0xc)" ( (binary_expression "(int)psVar82 + -0xc" (cast_expression "(int)psVar82" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)((int)psVar82 + -0x10)" * (cast_expression "(char **)((int)psVar82 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar82 + -0x10)" ( (binary_expression "(int)psVar82 + -0x10" (cast_expression "(int)psVar82" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;" (assignment_expression "*(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2" (pointer_expression "*(undefined4 *)((int)psVar82 + -0x14)" * (cast_expression "(undefined4 *)((int)psVar82 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar82 + -0x14)" ( (binary_expression "(int)psVar82 + -0x14" (cast_expression "(int)psVar82" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8));" (call_expression "do_gold_unreachable\n                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8))" identifier (argument_list "(*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                   *(char **)((int)psVar82 + -8))" ( (pointer_expression "*(char **)((int)psVar82 + -0x10)" * (cast_expression "(char **)((int)psVar82 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar82 + -0x10)" ( (binary_expression "(int)psVar82 + -0x10" (cast_expression "(int)psVar82" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)psVar82 + -0xc)" * (cast_expression "(int *)((int)psVar82 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar82 + -0xc)" ( (binary_expression "(int)psVar82 + -0xc" (cast_expression "(int)psVar82" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)psVar82 + -8)" * (cast_expression "(char **)((int)psVar82 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar82 + -8)" ( (binary_expression "(int)psVar82 + -8" (cast_expression "(int)psVar82" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "iVar59 = (pGVar51->stub_group_size_).value;" (assignment_expression "iVar59 = (pGVar51->stub_group_size_).value" identifier = (field_expression "(pGVar51->stub_group_size_).value" (parenthesized_expression "(pGVar51->stub_group_size_)" ( (field_expression "pGVar51->stub_group_size_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (iVar59 == 1) goto LAB_0008bbcb;" if (parenthesized_expression "(iVar59 == 1)" ( (binary_expression "iVar59 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0008bbcb;" goto statement_identifier ;)) (labeled_statement "LAB_0008b0d5:\n      if (iVar59 == -1) {\n        this->stub_group_size_ = -0x1e00000;\n      }\n      else {\n        this->stub_group_size_ = iVar59;\n      }" statement_identifier : (if_statement "if (iVar59 == -1) {\n        this->stub_group_size_ = -0x1e00000;\n      }\n      else {\n        this->stub_group_size_ = iVar59;\n      }" if (parenthesized_expression "(iVar59 == -1)" ( (binary_expression "iVar59 == -1" identifier == number_literal) )) (compound_statement "{\n        this->stub_group_size_ = -0x1e00000;\n      }" { (expression_statement "this->stub_group_size_ = -0x1e00000;" (assignment_expression "this->stub_group_size_ = -0x1e00000" (field_expression "this->stub_group_size_" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n        this->stub_group_size_ = iVar59;\n      }" else (compound_statement "{\n        this->stub_group_size_ = iVar59;\n      }" { (expression_statement "this->stub_group_size_ = iVar59;" (assignment_expression "this->stub_group_size_ = iVar59" (field_expression "this->stub_group_size_" identifier -> field_identifier) = identifier) ;) })))) }))) (expression_statement "group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);" (call_expression "group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36)" identifier (argument_list "(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36)" ( identifier , identifier , identifier , (cast_expression "(bool)uVar36" ( (type_descriptor "bool" primitive_type) ) identifier) ))) ;) (ERROR "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64" (assignment_expression "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n               super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Stub_table<64,_false>*>_>\n               ._M_impl._M_start;" (comma_expression "Stub_table<64,_false>*>_>\n               ._M_impl._M_start" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n               ._M_impl._M_start" (field_expression "_false>*>_>\n               ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if ((this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n        ._M_impl._M_finish != local_cc) goto LAB_00088eb5;" if (parenthesized_expression "((this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n        ._M_impl._M_finish != local_cc)" ( (ERROR "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64" (binary_expression "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n        super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Stub_table<64,_false>*>_>\n        ._M_impl._M_finish != local_cc" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>*>_>\n        ._M_impl._M_finish != local_cc" (field_expression "_false>*>_>\n        ._M_impl._M_finish" (field_expression "_false>*>_>\n        ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) != identifier)) )) (goto_statement "goto LAB_00088eb5;" goto statement_identifier ;)) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0008b10a:\n    local_110 = (Powerpc_relobj<64,_false> *)0x0;" statement_identifier : (expression_statement "local_110 = (Powerpc_relobj<64,_false> *)0x0;" (assignment_expression "local_110 = (Powerpc_relobj<64,_false> *)0x0" identifier = (parenthesized_expression "(Powerpc_relobj<64,_false> *)0x0" ( (comma_expression "Powerpc_relobj<64,_false> *)0x0" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ;)) (expression_statement "iVar59 = 0;" (assignment_expression "iVar59 = 0" identifier = number_literal) ;) (expression_statement "this->relax_failed_ = false;" (assignment_expression "this->relax_failed_ = false" (field_expression "this->relax_failed_" identifier -> field_identifier) = false) ;) }) else { (if_statement "if ((this->relax_failed_ != false) && (this->relax_fail_count_ < 3)) {\n      std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_);\n      uVar36 = (undefined1)in_stack_fffffec0;\n      ppSVar39 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n      if (ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish) {\n        do {\n          pSVar13 = *ppSVar39;\n          ppSVar39 = ppSVar39 + 1;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          pSVar13->plt_size_ = 0;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          pSVar13->branch_size_ = 0;\n          pSVar13->need_save_res_ = false;\n          pSVar13->last_plt_size_ = 0;\n          pSVar13->last_branch_size_ = 0;\n        } while ((this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39);\n        ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_start;\n        if (ppSVar39 != ppSVar72) {\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;\n        }\n      }\n      local_ac = &_GLOBAL_OFFSET_TABLE_;\n      iVar59 = this->stub_group_size_;\n      iVar47 = iVar59 + 3;\n      if (-1 < iVar59) {\n        iVar47 = iVar59;\n      }\n      iVar59 = (iVar47 >> 2) * 3;\n      this->stub_group_size_ = iVar59;\n      pcVar58 = gold::program_name;\n      format = (char *)gettext("%s: stub group size is too large; retrying with %#x");\n      gold::gold_info(format,pcVar58,iVar59);\n      group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);\n      unaff_EBX = local_ac;\n    }" if (parenthesized_expression "((this->relax_failed_ != false) && (this->relax_fail_count_ < 3))" ( (binary_expression "(this->relax_failed_ != false) && (this->relax_fail_count_ < 3)" (parenthesized_expression "(this->relax_failed_ != false)" ( (binary_expression "this->relax_failed_ != false" (field_expression "this->relax_failed_" identifier -> field_identifier) != false) )) && (parenthesized_expression "(this->relax_fail_count_ < 3)" ( (binary_expression "this->relax_fail_count_ < 3" (field_expression "this->relax_fail_count_" identifier -> field_identifier) < number_literal) ))) )) (compound_statement "{\n      std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_);\n      uVar36 = (undefined1)in_stack_fffffec0;\n      ppSVar39 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n      if (ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish) {\n        do {\n          pSVar13 = *ppSVar39;\n          ppSVar39 = ppSVar39 + 1;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          pSVar13->plt_size_ = 0;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          pSVar13->branch_size_ = 0;\n          pSVar13->need_save_res_ = false;\n          pSVar13->last_plt_size_ = 0;\n          pSVar13->last_branch_size_ = 0;\n        } while ((this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39);\n        ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_start;\n        if (ppSVar39 != ppSVar72) {\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;\n        }\n      }\n      local_ac = &_GLOBAL_OFFSET_TABLE_;\n      iVar59 = this->stub_group_size_;\n      iVar47 = iVar59 + 3;\n      if (-1 < iVar59) {\n        iVar47 = iVar59;\n      }\n      iVar59 = (iVar47 >> 2) * 3;\n      this->stub_group_size_ = iVar59;\n      pcVar58 = gold::program_name;\n      format = (char *)gettext("%s: stub group size is too large; retrying with %#x");\n      gold::gold_info(format,pcVar58,iVar59);\n      group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);\n      unaff_EBX = local_ac;\n    }" { (ERROR "std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std" identifier (ERROR "::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>" : : (comma_expression "_Hashtable<long_long_unsigned_int,_std" (binary_expression "_Hashtable<long_long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<long_long_unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long_unsigned_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" identifier , (binary_expression "_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" identifier (argument_list "((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" ( (binary_expression "(_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_" (parenthesized_expression "(_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)" ( (ERROR "_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<long_long_unsigned_int,_std" (binary_expression "_Hashtable<long_long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_unsigned_int>,_std" (binary_expression "equal_to<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<long_long_unsigned_int>,_std" (binary_expression "hash<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<false,_false,_true>_>\n               *" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n               *" identifier , (binary_expression "_true>_>\n               *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->branch_lookup_table_" identifier -> field_identifier)) )))))) ;) (expression_statement "uVar36 = (undefined1)in_stack_fffffec0;" (assignment_expression "uVar36 = (undefined1)in_stack_fffffec0" identifier = (cast_expression "(undefined1)in_stack_fffffec0" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (ERROR "ppSVar39 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "ppSVar39 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "ppSVar39 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64" (assignment_expression "ppSVar39 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                 super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;" (comma_expression "Stub_table<64,_false>*>_>\n                 ._M_impl._M_start" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n                 ._M_impl._M_start" (field_expression "_false>*>_>\n                 ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish) {\n        do {\n          pSVar13 = *ppSVar39;\n          ppSVar39 = ppSVar39 + 1;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          pSVar13->plt_size_ = 0;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          pSVar13->branch_size_ = 0;\n          pSVar13->need_save_res_ = false;\n          pSVar13->last_plt_size_ = 0;\n          pSVar13->last_branch_size_ = 0;\n        } while ((this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39);\n        ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_start;\n        if (ppSVar39 != ppSVar72) {\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;\n        }\n      }" if (parenthesized_expression "(ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish)" ( (ERROR "ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64" (binary_expression "ppSVar39 !=\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)" identifier != (binary_expression "(this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n          super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Stub_table<64,_false>*>_>\n          ._M_impl._M_finish" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n          ._M_impl._M_finish" (field_expression "_false>*>_>\n          ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) )) (compound_statement "{\n        do {\n          pSVar13 = *ppSVar39;\n          ppSVar39 = ppSVar39 + 1;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          pSVar13->plt_size_ = 0;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          pSVar13->branch_size_ = 0;\n          pSVar13->need_save_res_ = false;\n          pSVar13->last_plt_size_ = 0;\n          pSVar13->last_branch_size_ = 0;\n        } while ((this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39);\n        ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_start;\n        if (ppSVar39 != ppSVar72) {\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;\n        }\n      }" { (do_statement "do {\n          pSVar13 = *ppSVar39;\n          ppSVar39 = ppSVar39 + 1;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          pSVar13->plt_size_ = 0;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          pSVar13->branch_size_ = 0;\n          pSVar13->need_save_res_ = false;\n          pSVar13->last_plt_size_ = 0;\n          pSVar13->last_branch_size_ = 0;\n        } while ((this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39);" do (compound_statement "{\n          pSVar13 = *ppSVar39;\n          ppSVar39 = ppSVar39 + 1;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          pSVar13->plt_size_ = 0;\n          std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);\n          uVar36 = (undefined1)in_stack_fffffec0;\n          pSVar13->branch_size_ = 0;\n          pSVar13->need_save_res_ = false;\n          pSVar13->last_plt_size_ = 0;\n          pSVar13->last_branch_size_ = 0;\n        }" { (expression_statement "pSVar13 = *ppSVar39;" (assignment_expression "pSVar13 = *ppSVar39" identifier = (pointer_expression "*ppSVar39" * identifier)) ;) (expression_statement "ppSVar39 = ppSVar39 + 1;" (assignment_expression "ppSVar39 = ppSVar39 + 1" identifier = (binary_expression "ppSVar39 + 1" identifier + number_literal)) ;) (labeled_statement "std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std:" : : (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_std" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>,_std" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>_>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>_>,_std" (binary_expression "_false>::Plt_stub_ent>_" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "," ,) identifier)) :) : (labeled_statement "__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std:" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key_hash,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key_hash,_std" (binary_expression "_false>::Plt_stub_key_hash" identifier > (ERROR "::" : :) identifier) , identifier)) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" identifier , (binary_expression "_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" identifier (argument_list "((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" ( (parenthesized_expression "(_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" ( (ERROR "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std" (binary_expression "_Hashtable<(anonymous_namespace)::Stub_table<64" (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (comma_expression "_false>::Plt_stub_key,_std" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>,_std" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>_>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>_>,_std" (binary_expression "_false>::Plt_stub_ent>_" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key_hash,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key_hash,_std" (binary_expression "_false>::Plt_stub_key_hash" identifier > (ERROR "::" : :) identifier) , identifier)) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                   *)in_stack_fffffeb4" identifier , (binary_expression "_true>_>\n                   *)in_stack_fffffeb4" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)in_stack_fffffeb4" * (ERROR ")" )) identifier)))) )) )))))) ;))))))) (expression_statement "pSVar13->plt_size_ = 0;" (assignment_expression "pSVar13->plt_size_ = 0" (field_expression "pSVar13->plt_size_" identifier -> field_identifier) = number_literal) ;) (labeled_statement "std::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::\n          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std:" : : (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent,_unsigned_int>,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier))) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent,_unsigned_int>_>,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier))) :) : (labeled_statement "__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std:" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Branch_stub_ent>,_(anonymous_namespace)" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent_hash,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent_hash,_std" (binary_expression "_false>::Branch_stub_ent_hash" identifier > (ERROR "::" : :) identifier) , identifier)) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" identifier , (binary_expression "_true>_>\n          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" identifier (argument_list "((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" ( (parenthesized_expression "(_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4)" ( (ERROR "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std" (binary_expression "_Hashtable<(anonymous_namespace)::Stub_table<64" (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (comma_expression "_false>::Branch_stub_ent,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent,_unsigned_int>,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier))) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent,_unsigned_int>_>,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier))) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Branch_stub_ent>,_(anonymous_namespace)" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent_hash,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent_hash,_std" (binary_expression "_false>::Branch_stub_ent_hash" identifier > (ERROR "::" : :) identifier) , identifier)) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                   *)in_stack_fffffeb4" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                   *)in_stack_fffffeb4" identifier , (binary_expression "_true>_>\n                   *)in_stack_fffffeb4" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)in_stack_fffffeb4" * (ERROR ")" )) identifier)))) )) )))))) ;))))))) (expression_statement "uVar36 = (undefined1)in_stack_fffffec0;" (assignment_expression "uVar36 = (undefined1)in_stack_fffffec0" identifier = (cast_expression "(undefined1)in_stack_fffffec0" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "pSVar13->branch_size_ = 0;" (assignment_expression "pSVar13->branch_size_ = 0" (field_expression "pSVar13->branch_size_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pSVar13->need_save_res_ = false;" (assignment_expression "pSVar13->need_save_res_ = false" (field_expression "pSVar13->need_save_res_" identifier -> field_identifier) = false) ;) (expression_statement "pSVar13->last_plt_size_ = 0;" (assignment_expression "pSVar13->last_plt_size_ = 0" (field_expression "pSVar13->last_plt_size_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pSVar13->last_branch_size_ = 0;" (assignment_expression "pSVar13->last_branch_size_ = 0" (field_expression "pSVar13->last_branch_size_" identifier -> field_identifier) = number_literal) ;) }) while (parenthesized_expression "((this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39)" ( (ERROR "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64" (binary_expression "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                 super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Stub_table<64,_false>*>_>\n                 ._M_impl._M_finish != ppSVar39" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>*>_>\n                 ._M_impl._M_finish != ppSVar39" (field_expression "_false>*>_>\n                 ._M_impl._M_finish" (field_expression "_false>*>_>\n                 ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) != identifier)) )) ;) (ERROR "ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64" (assignment_expression "ppSVar72 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                   super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Stub_table<64,_false>*>_>\n                   ._M_impl._M_start;" (comma_expression "Stub_table<64,_false>*>_>\n                   ._M_impl._M_start" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n                   ._M_impl._M_start" (field_expression "_false>*>_>\n                   ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar39 != ppSVar72) {\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;\n        }" if (parenthesized_expression "(ppSVar39 != ppSVar72)" ( (binary_expression "ppSVar39 != ppSVar72" identifier != identifier) )) (compound_statement "{\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;\n        }" { (ERROR "(this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "(this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "(this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64" (binary_expression "(this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n          super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72;" (comma_expression "Stub_table<64,_false>*>_>\n          ._M_impl._M_finish = ppSVar72" (binary_expression "Stub_table<64" identifier < number_literal) , (assignment_expression "_false>*>_>\n          ._M_impl._M_finish = ppSVar72" (field_expression "_false>*>_>\n          ._M_impl._M_finish" (field_expression "_false>*>_>\n          ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)) ;) })) })) (expression_statement "local_ac = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_ac = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "iVar59 = this->stub_group_size_;" (assignment_expression "iVar59 = this->stub_group_size_" identifier = (field_expression "this->stub_group_size_" identifier -> field_identifier)) ;) (expression_statement "iVar47 = iVar59 + 3;" (assignment_expression "iVar47 = iVar59 + 3" identifier = (binary_expression "iVar59 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < iVar59) {\n        iVar47 = iVar59;\n      }" if (parenthesized_expression "(-1 < iVar59)" ( (binary_expression "-1 < iVar59" number_literal < identifier) )) (compound_statement "{\n        iVar47 = iVar59;\n      }" { (expression_statement "iVar47 = iVar59;" (assignment_expression "iVar47 = iVar59" identifier = identifier) ;) })) (expression_statement "iVar59 = (iVar47 >> 2) * 3;" (assignment_expression "iVar59 = (iVar47 >> 2) * 3" identifier = (binary_expression "(iVar47 >> 2) * 3" (parenthesized_expression "(iVar47 >> 2)" ( (binary_expression "iVar47 >> 2" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "this->stub_group_size_ = iVar59;" (assignment_expression "this->stub_group_size_ = iVar59" (field_expression "this->stub_group_size_" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar58 = gold::program_name;" (assignment_expression "pcVar58 = gold" identifier = identifier) (ERROR "::program_name" : : identifier) ;) (expression_statement "format = (char *)gettext("%s: stub group size is too large; retrying with %#x");" (assignment_expression "format = (char *)gettext("%s: stub group size is too large; retrying with %#x")" identifier = (cast_expression "(char *)gettext("%s: stub group size is too large; retrying with %#x")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: stub group size is too large; retrying with %#x")" identifier (argument_list "("%s: stub group size is too large; retrying with %#x")" ( (string_literal ""%s: stub group size is too large; retrying with %#x"" " string_content ") ))))) ;) (labeled_statement "gold::gold_info(format,pcVar58,iVar59);" statement_identifier : (ERROR ":" :) (expression_statement "gold_info(format,pcVar58,iVar59);" (call_expression "gold_info(format,pcVar58,iVar59)" identifier (argument_list "(format,pcVar58,iVar59)" ( identifier , identifier , identifier ))) ;)) (expression_statement "group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);" (call_expression "group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36)" identifier (argument_list "(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36)" ( identifier , identifier , identifier , (cast_expression "(bool)uVar36" ( (type_descriptor "bool" primitive_type) ) identifier) ))) ;) (expression_statement "unaff_EBX = local_ac;" (assignment_expression "unaff_EBX = local_ac" identifier = identifier) ;) })) (ERROR "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)::Stub_table<64" (assignment_expression "local_cc = (this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n               super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n               super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Stub_table<64,_false>*>_>\n               ._M_impl._M_start;" (comma_expression "Stub_table<64,_false>*>_>\n               ._M_impl._M_start" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n               ._M_impl._M_start" (field_expression "_false>*>_>\n               ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ;) if (parenthesized_expression "((this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n        ._M_impl._M_finish == local_cc)" ( (ERROR "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)::Stub_table<64" (binary_expression "(this->stub_tables_).\n        super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n        super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Stub_table<64,_false>*>_>\n        ._M_impl._M_finish == local_cc" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>*>_>\n        ._M_impl._M_finish == local_cc" (field_expression "_false>*>_>\n        ._M_impl._M_finish" (field_expression "_false>*>_>\n        ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) == identifier)) )) { (labeled_statement "LAB_00089837:\n      local_120 = (this->branch_lookup_table_)._M_h._M_element_count;" statement_identifier : (expression_statement "local_120 = (this->branch_lookup_table_)._M_h._M_element_count;" (assignment_expression "local_120 = (this->branch_lookup_table_)._M_h._M_element_count" identifier = (field_expression "(this->branch_lookup_table_)._M_h._M_element_count" (field_expression "(this->branch_lookup_table_)._M_h" (parenthesized_expression "(this->branch_lookup_table_)" ( (field_expression "this->branch_lookup_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;)) (ERROR "std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std" identifier (ERROR "::\n      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>" : : (comma_expression "_Hashtable<long_long_unsigned_int,_std" (binary_expression "_Hashtable<long_long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<long_long_unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long_unsigned_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" identifier , (binary_expression "_true>_>\n      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" identifier (argument_list "((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_)" ( (binary_expression "(_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)&this->branch_lookup_table_" (parenthesized_expression "(_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n               *)" ( (ERROR "_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<long_long_unsigned_int,_std" (binary_expression "_Hashtable<long_long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_unsigned_int>,_std" (binary_expression "equal_to<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<long_long_unsigned_int>,_std" (binary_expression "hash<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<false,_false,_true>_>\n               *" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n               *" identifier , (binary_expression "_true>_>\n               *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->branch_lookup_table_" identifier -> field_identifier)) )))))) ;) (ERROR "ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64" (assignment_expression "ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                 super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;" (comma_expression "Stub_table<64,_false>*>_>\n                 ._M_impl._M_start" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n                 ._M_impl._M_start" (field_expression "_false>*>_>\n                 ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar72 ==\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish) goto LAB_0008b10a;" if (parenthesized_expression "(ppSVar72 ==\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n          ._M_impl._M_finish)" ( (ERROR "ppSVar72 ==\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::" (comma_expression "ppSVar72 ==\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std" (binary_expression "ppSVar72 ==\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<64" (binary_expression "ppSVar72 ==\n          (this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)" identifier == (binary_expression "(this->stub_tables_).\n          super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n          super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Stub_table<64,_false>*>_>\n          ._M_impl._M_finish" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n          ._M_impl._M_finish" (field_expression "_false>*>_>\n          ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) )) (goto_statement "goto LAB_0008b10a;" goto statement_identifier ;)) do { (expression_statement "unaff_EBX = (undefined **)*ppSVar72;" (assignment_expression "unaff_EBX = (undefined **)*ppSVar72" identifier = (cast_expression "(undefined **)*ppSVar72" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*ppSVar72" * identifier))) ;) (expression_statement "ppSVar72 = ppSVar72 + 1;" (assignment_expression "ppSVar72 = ppSVar72 + 1" identifier = (binary_expression "ppSVar72 + 1" identifier + number_literal)) ;) identifier (ERROR "::\n        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std:" : : (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_std" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>,_std" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>_>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>_>,_std" (binary_expression "_false>::Plt_stub_ent>_" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "," ,) identifier)) :) : identifier (ERROR "::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std:" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key_hash,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key_hash,_std" (binary_expression "_false>::Plt_stub_key_hash" identifier > (ERROR "::" : :) identifier) , identifier)) :) : identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : identifier : (ERROR ":" :) (binary_expression "_Hashtable_traits<true" identifier < true) , identifier , (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier ( (parenthesized_expression "(_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)in_stack_fffffeb4)" ( (ERROR "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std" (binary_expression "_Hashtable<(anonymous_namespace)::Stub_table<64" (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (comma_expression "_false>::Plt_stub_key,_std" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>,_std" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_ent>_>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_ent>_>,_std" (binary_expression "_false>::Plt_stub_ent>_" (binary_expression "_false>::Plt_stub_ent" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Plt_stub_key>,_(anonymous_namespace)" (binary_expression "_false>::Plt_stub_key" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Plt_stub_key_hash,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Plt_stub_key_hash,_std" (binary_expression "_false>::Plt_stub_key_hash" identifier > (ERROR "::" : :) identifier) , identifier)) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                 *)in_stack_fffffeb4" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                 *)in_stack_fffffeb4" identifier , (binary_expression "_true>_>\n                 *)in_stack_fffffeb4" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)in_stack_fffffeb4" * (ERROR ")" )) identifier)))) )) (ERROR ";" ;) ( (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.local_got_offsets_._M_h._M_element_count = 0;\n        std::\n        _Hashtable<(anonymous_namespace)::Stub_table<64" (binary_expression "_false>.local_got_offsets_._M_h._M_element_count = 0;\n        std::\n        _Hashtable<(anonymous_namespace)" (assignment_expression "_false>.local_got_offsets_._M_h._M_element_count = 0" (field_expression "_false>.local_got_offsets_._M_h._M_element_count" (field_expression "_false>.local_got_offsets_._M_h" (field_expression "_false>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) (ERROR ";\n        std::\n        _Hashtable" ; identifier : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (ERROR "_std::pair<const_(anonymous_namespace)::" identifier : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : :) (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , identifier (ERROR ">" >) , (ERROR "_std::allocator<std::pair<const_(anonymous_namespace)::" identifier : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : :) (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>_" identifier > identifier) (ERROR ">" >) , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::equal_to<(anonymous_namespace)::" identifier : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) (ERROR ">" >) , (binary_expression "_(anonymous_namespace)::Stub_table<64" (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>::Branch_stub_ent_hash" identifier > (ERROR "::" : :) identifier) , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) (binary_expression "_Hashtable_traits<true" identifier < true) , identifier , (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier ( (parenthesized_expression "(_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)in_stack_fffffeb4)" ( (ERROR "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std" (binary_expression "_Hashtable<(anonymous_namespace)::Stub_table<64" (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (comma_expression "_false>::Branch_stub_ent,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent,_unsigned_int>,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier))) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_(anonymous_namespace)" identifier < (call_expression "const_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent,_unsigned_int>_>,_std" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier))) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>::Branch_stub_ent>,_(anonymous_namespace)" (binary_expression "_false>::Branch_stub_ent" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Stub_table<64,_false>::Branch_stub_ent_hash,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (comma_expression "_false>::Branch_stub_ent_hash,_std" (binary_expression "_false>::Branch_stub_ent_hash" identifier > (ERROR "::" : :) identifier) , identifier)) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                 *)in_stack_fffffeb4" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                 *)in_stack_fffffeb4" identifier , (binary_expression "_true>_>\n                 *)in_stack_fffffeb4" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)in_stack_fffffeb4" * (ERROR ")" )) identifier)))) )) (ERROR ";" ;) ( (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize" (field_expression "_false>.local_got_offsets_._M_h._M_rehash_policy" (field_expression "_false>.local_got_offsets_._M_h" (field_expression "_false>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) (ERROR ";" ;) * ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) & ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_end_of_storage = false;\n        ppSVar39 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                   ._M_impl._M_finish;\n      } while (ppSVar39 != ppSVar72);\n      ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n    }\n    else" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (comma_expression "_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (binary_expression "_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int" (field_expression "_false>.section_offsets_.\n                  super__Vector_base" (field_expression "_false>.section_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier) , identifier)) : : (assignment_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_end_of_storage = false" (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_end_of_storage" (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = false) ; (assignment_expression "ppSVar39 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                   super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>*,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>*>_>\n                   ._M_impl._M_finish" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n                   ._M_impl._M_finish" (field_expression "_false>*>_>\n                   ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ; } while (parenthesized_expression "(ppSVar39 != ppSVar72)" ( (binary_expression "ppSVar39 != ppSVar72" identifier != identifier) )) ; (assignment_expression "ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                 super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>*,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>*>_>\n                 ._M_impl._M_start" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n                 ._M_impl._M_start" (field_expression "_false>*>_>\n                 ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ; } else) { (labeled_statement "LAB_00088eb5:\n      psVar83 = (size_t *)&stack0xfffffeb4;" statement_identifier : (expression_statement "psVar83 = (size_t *)&stack0xfffffeb4;" (assignment_expression "psVar83 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ;)) (expression_statement "puVar56 = (undefined4 *)&stack0xfffffeb4;" (assignment_expression "puVar56 = (undefined4 *)&stack0xfffffeb4" identifier = (cast_expression "(undefined4 *)&stack0xfffffeb4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ;) (expression_statement "psVar82 = (size_t *)&stack0xfffffeb4;" (assignment_expression "psVar82 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ;) (expression_statement "unaff_EBX = (undefined **)*local_cc;" (assignment_expression "unaff_EBX = (undefined **)*local_cc" identifier = (cast_expression "(undefined **)*local_cc" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_cc" * identifier))) ;) (expression_statement "iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c;" (assignment_expression "iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c" identifier = (pointer_expression "*(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c" * (cast_expression "(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c" & (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.field_0x2c" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.\n                        super_Relobj.super_Object.field_0x2c" (field_expression "_false>.\n                        super_Relobj.super_Object" (field_expression "_false>.\n                        super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) )))))) ;) (expression_statement "pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n               super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;" (assignment_expression "pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n               super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_" identifier = (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n               super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n               super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n               super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n               super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.super_Relobj.super_Object.xindex_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ))) ;) (expression_statement "iVar47 = *(int *)(iVar59 + 0x84);" (assignment_expression "iVar47 = *(int *)(iVar59 + 0x84)" identifier = (pointer_expression "*(int *)(iVar59 + 0x84)" * (cast_expression "(int *)(iVar59 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x84)" ( (binary_expression "iVar59 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "psVar81 = (size_t *)&stack0xfffffeb4;" (assignment_expression "psVar81 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ;) (if_statement "if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) {\nLAB_0008bf9d:\n        *(char **)((int)psVar81 + -8) = "get_output_section_offset";\n        *(undefined4 *)((int)psVar81 + -0xc) = 0x7f7;\n        *(char **)((int)psVar81 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar81 + -0x14) = 0x8bfbe;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                   *(char **)((int)psVar81 + -8));\n      }" if (parenthesized_expression "((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9)" ( (binary_expression "(Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9" (cast_expression "(Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar59 + 0x88) - iVar47 >> 3)" ( (binary_expression "*(int *)(iVar59 + 0x88) - iVar47 >> 3" (binary_expression "*(int *)(iVar59 + 0x88) - iVar47" (pointer_expression "*(int *)(iVar59 + 0x88)" * (cast_expression "(int *)(iVar59 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x88)" ( (binary_expression "iVar59 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0008bf9d:\n        *(char **)((int)psVar81 + -8) = "get_output_section_offset";\n        *(undefined4 *)((int)psVar81 + -0xc) = 0x7f7;\n        *(char **)((int)psVar81 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)psVar81 + -0x14) = 0x8bfbe;\n        gold::do_gold_unreachable\n                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                   *(char **)((int)psVar81 + -8));\n      }" { (labeled_statement "LAB_0008bf9d:\n        *(char **)((int)psVar81 + -8) = "get_output_section_offset";" statement_identifier : (expression_statement "*(char **)((int)psVar81 + -8) = "get_output_section_offset";" (assignment_expression "*(char **)((int)psVar81 + -8) = "get_output_section_offset"" (pointer_expression "*(char **)((int)psVar81 + -8)" * (cast_expression "(char **)((int)psVar81 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar81 + -8)" ( (binary_expression "(int)psVar81 + -8" (cast_expression "(int)psVar81" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""get_output_section_offset"" " string_content ")) ;)) (expression_statement "*(undefined4 *)((int)psVar81 + -0xc) = 0x7f7;" (assignment_expression "*(undefined4 *)((int)psVar81 + -0xc) = 0x7f7" (pointer_expression "*(undefined4 *)((int)psVar81 + -0xc)" * (cast_expression "(undefined4 *)((int)psVar81 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar81 + -0xc)" ( (binary_expression "(int)psVar81 + -0xc" (cast_expression "(int)psVar81" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)psVar81 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)((int)psVar81 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)((int)psVar81 + -0x10)" * (cast_expression "(char **)((int)psVar81 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar81 + -0x10)" ( (binary_expression "(int)psVar81 + -0x10" (cast_expression "(int)psVar81" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)((int)psVar81 + -0x14) = 0x8bfbe;" (assignment_expression "*(undefined4 *)((int)psVar81 + -0x14) = 0x8bfbe" (pointer_expression "*(undefined4 *)((int)psVar81 + -0x14)" * (cast_expression "(undefined4 *)((int)psVar81 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar81 + -0x14)" ( (binary_expression "(int)psVar81 + -0x14" (cast_expression "(int)psVar81" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                   *(char **)((int)psVar81 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                   *(char **)((int)psVar81 + -8));" (call_expression "do_gold_unreachable\n                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                   *(char **)((int)psVar81 + -8))" identifier (argument_list "(*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),\n                   *(char **)((int)psVar81 + -8))" ( (pointer_expression "*(char **)((int)psVar81 + -0x10)" * (cast_expression "(char **)((int)psVar81 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar81 + -0x10)" ( (binary_expression "(int)psVar81 + -0x10" (cast_expression "(int)psVar81" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)psVar81 + -0xc)" * (cast_expression "(int *)((int)psVar81 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar81 + -0xc)" ( (binary_expression "(int)psVar81 + -0xc" (cast_expression "(int)psVar81" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)psVar81 + -8)" * (cast_expression "(char **)((int)psVar81 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar81 + -8)" ( (binary_expression "(int)psVar81 + -8" (cast_expression "(int)psVar81" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);" (assignment_expression "uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8)" identifier = (pointer_expression "*(uint *)(iVar47 + 4 + (int)pXVar9 * 8)" * (cast_expression "(uint *)(iVar47 + 4 + (int)pXVar9 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 4 + (int)pXVar9 * 8)" ( (binary_expression "iVar47 + 4 + (int)pXVar9 * 8" (binary_expression "iVar47 + 4" identifier + number_literal) + (binary_expression "(int)pXVar9 * 8" (cast_expression "(int)pXVar9" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);" (assignment_expression "uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8)" identifier = (pointer_expression "*(uint *)(iVar47 + (int)pXVar9 * 8)" * (cast_expression "(uint *)(iVar47 + (int)pXVar9 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + (int)pXVar9 * 8)" ( (binary_expression "iVar47 + (int)pXVar9 * 8" identifier + (binary_expression "(int)pXVar9 * 8" (cast_expression "(int)pXVar9" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar37 = uVar84 & uVar60;" (assignment_expression "uVar37 = uVar84 & uVar60" identifier = (binary_expression "uVar84 & uVar60" identifier & identifier)) ;) while (parenthesized_expression "( true )" ( true )) { (if_statement "if (uVar37 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax");\n        }" if (parenthesized_expression "(uVar37 == 0xffffffff)" ( (binary_expression "uVar37 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax")" identifier (argument_list "("../../gold/powerpc.cc",0xe02,"do_relax")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_relax"" " string_content ") ))) ;)) })) (expression_statement "local_cc = local_cc + 1;" (assignment_expression "local_cc = local_cc + 1" identifier = (binary_expression "local_cc + 1" identifier + number_literal)) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "iVar59 = (int)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_;" (assignment_expression "iVar59 = (int)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_" identifier = (cast_expression "(int)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.super_Relobj.super_Object.offset_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) )))) ;) (expression_statement "p_Var89 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var89 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_before_begin._M_nxt" identifier = (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_before_begin._M_nxt" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_before_begin._M_nxt" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.local_got_offsets_._M_h._M_before_begin._M_nxt" (field_expression "_false>.local_got_offsets_._M_h._M_before_begin" (field_expression "_false>.local_got_offsets_._M_h" (field_expression "_false>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ))) ;) (expression_statement "local_c4 = (int)&p_Var89->_M_nxt + uVar60;" (assignment_expression "local_c4 = (int)&p_Var89->_M_nxt + uVar60" identifier = (binary_expression "(int)&p_Var89->_M_nxt + uVar60" (cast_expression "(int)&p_Var89->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var89->_M_nxt" & (field_expression "p_Var89->_M_nxt" identifier -> field_identifier))) + identifier)) ;) (expression_statement "local_c0 = uVar84 + CARRY4((uint)p_Var89,uVar60);" (assignment_expression "local_c0 = uVar84 + CARRY4((uint)p_Var89,uVar60)" identifier = (binary_expression "uVar84 + CARRY4((uint)p_Var89,uVar60)" identifier + (call_expression "CARRY4((uint)p_Var89,uVar60)" identifier (argument_list "((uint)p_Var89,uVar60)" ( (cast_expression "(uint)p_Var89" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) ;) identifier = ( (type_descriptor "Compute_final_value_status *" type_identifier (abstract_pointer_declarator "*" *)) ) ( (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                    _M_next_resize +\n                   (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count);\n        if (*(bool *)" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                    _M_next_resize +\n                   (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count)" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.local_got_offsets_._M_h._M_rehash_policy.\n                    _M_next_resize +\n                   (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count)" (field_expression "_false>.local_got_offsets_._M_h._M_rehash_policy.\n                    _M_next_resize" (field_expression "_false>.local_got_offsets_._M_h._M_rehash_policy" (field_expression "_false>.local_got_offsets_._M_h" (field_expression "_false>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count)" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.local_got_offsets_._M_h._M_element_count" (field_expression "_false>.local_got_offsets_._M_h" (field_expression "_false>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) )))) (ERROR ";\n        if (*(bool *" ; if ( * ( primitive_type *) )) & (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.section_offsets_.\n                      super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                      ._M_impl._M_end_of_storage != false)" ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.section_offsets_.\n                      super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.section_offsets_.\n                      super__Vector_base<long_long_unsigned_int,_std" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (comma_expression "_false>.section_offsets_.\n                      super__Vector_base<long_long_unsigned_int,_std" (binary_expression "_false>.section_offsets_.\n                      super__Vector_base<long_long_unsigned_int" (field_expression "_false>.section_offsets_.\n                      super__Vector_base" (field_expression "_false>.section_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier) , identifier)) : :) (binary_expression "allocator<long_long_unsigned_int>_>\n                      ._M_impl._M_end_of_storage != false" (field_expression "allocator<long_long_unsigned_int>_>\n                      ._M_impl._M_end_of_storage" (field_expression "allocator<long_long_unsigned_int>_>\n                      ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != false) )) (ERROR "{\n          pOVar10" { identifier) = ( ( (ERROR "Target_powerpc<64,_false> *)\n                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->\n                    savres_section_;\n          if ((pOVar10->field_0x1c & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }\n          bVar92 = CARRY4((uint)local_bc,*(uint *)&pOVar10->field_0xc);\n          local_bc = (Compute_final_value_status *)((int)local_bc + *(uint *)&pOVar10->field_0xc);\n          local_b8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;\n        }\n        if (local_b8 != 0 || local_bc != (Compute_final_value_status *)0x0) {\n          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;\n          uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n          if (uVar37 < 0x20) {\n            uVar37 = 0x20;\n          }\n          bVar92 = CARRY4(uVar37 - 1,local_c4);\n          local_c4 = (uVar37 - 1) + local_c4 & -uVar37;\n          local_c0 = ((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0);\n        }" (comma_expression "Target_powerpc<64,_false> *)\n                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->\n                    savres_section_" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_false> *)\n                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->\n                    savres_section_" identifier > (pointer_expression "*)\n                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->\n                    savres_section_" * (ERROR ")" )) (field_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->\n                    savres_section_" (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.super_Relobj.super_Object.compressed_sections_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) )) -> field_identifier)))) ; if (parenthesized_expression "((pOVar10->field_0x1c & 2) == 0)" ( (binary_expression "(pOVar10->field_0x1c & 2) == 0" (parenthesized_expression "(pOVar10->field_0x1c & 2)" ( (binary_expression "pOVar10->field_0x1c & 2" (field_expression "pOVar10->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) }) (assignment_expression "bVar92 = CARRY4((uint)local_bc,*(uint *)&pOVar10->field_0xc)" identifier = (call_expression "CARRY4((uint)local_bc,*(uint *)&pOVar10->field_0xc)" identifier (argument_list "((uint)local_bc,*(uint *)&pOVar10->field_0xc)" ( (cast_expression "(uint)local_bc" ( (type_descriptor "uint" type_identifier) ) identifier) , (pointer_expression "*(uint *)&pOVar10->field_0xc" * (cast_expression "(uint *)&pOVar10->field_0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar10->field_0xc" & (field_expression "pOVar10->field_0xc" identifier -> field_identifier)))) )))) ; (assignment_expression "local_bc = (Compute_final_value_status *)((int)local_bc + *(uint *)&pOVar10->field_0xc)" identifier = (cast_expression "(Compute_final_value_status *)((int)local_bc + *(uint *)&pOVar10->field_0xc)" ( (type_descriptor "Compute_final_value_status *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_bc + *(uint *)&pOVar10->field_0xc)" ( (binary_expression "(int)local_bc + *(uint *)&pOVar10->field_0xc" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(uint *)&pOVar10->field_0xc" * (cast_expression "(uint *)&pOVar10->field_0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar10->field_0xc" & (field_expression "pOVar10->field_0xc" identifier -> field_identifier))))) )))) ; (call_expression "local_b8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;\n        }\n        if (local_b8 != 0 || local_bc != (Compute_final_value_status *)0x0)" (assignment_expression "local_b8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92" identifier = (binary_expression "*(int *)&pOVar10->field_0x10 + (uint)bVar92" (pointer_expression "*(int *)&pOVar10->field_0x10" * (cast_expression "(int *)&pOVar10->field_0x10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar10->field_0x10" & (field_expression "pOVar10->field_0x10" identifier -> field_identifier)))) + (cast_expression "(uint)bVar92" ( (type_descriptor "uint" type_identifier) ) identifier))) (ERROR ";\n        }\n        if" ; } if) (argument_list "(local_b8 != 0 || local_bc != (Compute_final_value_status *)0x0)" ( (binary_expression "local_b8 != 0 || local_bc != (Compute_final_value_status *)0x0" (binary_expression "local_b8 != 0" identifier != number_literal) || (binary_expression "local_bc != (Compute_final_value_status *)0x0" identifier != (cast_expression "(Compute_final_value_status *)0x0" ( (type_descriptor "Compute_final_value_status *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) (compound_statement "{\n          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;\n          uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n          if (uVar37 < 0x20) {\n            uVar37 = 0x20;\n          }\n          bVar92 = CARRY4(uVar37 - 1,local_c4);\n          local_c4 = (uVar37 - 1) + local_c4 & -uVar37;\n          local_c0 = ((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0);\n        }" { (if_statement "if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;" if (parenthesized_expression "(gold::parameters->options_ == (General_options *)0x0)" ( (ERROR "gold::" identifier : :) (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0008c192;" goto statement_identifier ;)) (expression_statement "uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);" (assignment_expression "uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" identifier = (binary_expression "1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" number_literal << (parenthesized_expression "((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" ( (binary_expression "(byte)(gold::parameters->options_->plt_align_).value & 0x1f" (field_expression "(byte)(gold::parameters->options_->plt_align_).value" (call_expression "(byte)(gold::parameters->options_->plt_align_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(gold::parameters->options_->plt_align_)" ( (ERROR "gold::" identifier : :) (field_expression "parameters->options_->plt_align_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) ))) . field_identifier) & number_literal) )))) ;) (if_statement "if (uVar37 < 0x20) {\n            uVar37 = 0x20;\n          }" if (parenthesized_expression "(uVar37 < 0x20)" ( (binary_expression "uVar37 < 0x20" identifier < number_literal) )) (compound_statement "{\n            uVar37 = 0x20;\n          }" { (expression_statement "uVar37 = 0x20;" (assignment_expression "uVar37 = 0x20" identifier = number_literal) ;) })) (expression_statement "bVar92 = CARRY4(uVar37 - 1,local_c4);" (assignment_expression "bVar92 = CARRY4(uVar37 - 1,local_c4)" identifier = (call_expression "CARRY4(uVar37 - 1,local_c4)" identifier (argument_list "(uVar37 - 1,local_c4)" ( (binary_expression "uVar37 - 1" identifier - number_literal) , identifier )))) ;) (expression_statement "local_c4 = (uVar37 - 1) + local_c4 & -uVar37;" (assignment_expression "local_c4 = (uVar37 - 1) + local_c4 & -uVar37" identifier = (binary_expression "(uVar37 - 1) + local_c4 & -uVar37" (binary_expression "(uVar37 - 1) + local_c4" (parenthesized_expression "(uVar37 - 1)" ( (binary_expression "uVar37 - 1" identifier - number_literal) )) + identifier) & (unary_expression "-uVar37" - identifier))) ;) (expression_statement "local_c0 = ((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0);" (assignment_expression "local_c0 = ((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0)" identifier = (binary_expression "((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0)" (binary_expression "((uVar37 != 0) - 1) + local_c0 + (uint)bVar92" (binary_expression "((uVar37 != 0) - 1) + local_c0" (parenthesized_expression "((uVar37 != 0) - 1)" ( (binary_expression "(uVar37 != 0) - 1" (parenthesized_expression "(uVar37 != 0)" ( (binary_expression "uVar37 != 0" identifier != number_literal) )) - number_literal) )) + identifier) + (cast_expression "(uint)bVar92" ( (type_descriptor "uint" type_identifier) ) identifier)) & (unary_expression "-(uint)(uVar37 != 0)" - (call_expression "(uint)(uVar37 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar37 != 0)" ( (binary_expression "uVar37 != 0" identifier != number_literal) )))))) ;) })) identifier = ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_start;" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (comma_expression "_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (binary_expression "_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int" (field_expression "_false>.section_offsets_.\n                  super__Vector_base" (field_expression "_false>.section_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier) , identifier)) : : (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_start" (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) identifier = ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_finish;\n        puVar38 = (pointer)(((int)local_bc - uVar60) + local_c4);\n        puVar71 = (pointer)(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - uVar60,local_c4));\n        if (puVar74 < puVar71 || (uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38)) {\n          puVar77 = puVar38;\n          puVar74 = puVar71;\n        }" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (comma_expression "_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (binary_expression "_false>.section_offsets_.\n                  super__Vector_base<long_long_unsigned_int" (field_expression "_false>.section_offsets_.\n                  super__Vector_base" (field_expression "_false>.section_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier) , identifier)) : : (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_finish" (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ; (assignment_expression "puVar38 = (pointer)(((int)local_bc - uVar60) + local_c4)" identifier = (call_expression "(pointer)(((int)local_bc - uVar60) + local_c4)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(((int)local_bc - uVar60) + local_c4)" ( (binary_expression "((int)local_bc - uVar60) + local_c4" (parenthesized_expression "((int)local_bc - uVar60)" ( (binary_expression "(int)local_bc - uVar60" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) + identifier) )))) ; (call_expression "puVar71 = (pointer)(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - uVar60,local_c4));\n        if (puVar74 < puVar71 || (uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38))" (assignment_expression "puVar71 = (pointer)(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - uVar60,local_c4))" identifier = (call_expression "(pointer)(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - uVar60,local_c4))" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - uVar60,local_c4))" ( (binary_expression "((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - uVar60,local_c4)" (binary_expression "((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0" (parenthesized_expression "((local_b8 - uVar84) - (uint)(local_bc < uVar60))" ( (binary_expression "(local_b8 - uVar84) - (uint)(local_bc < uVar60)" (parenthesized_expression "(local_b8 - uVar84)" ( (binary_expression "local_b8 - uVar84" identifier - identifier) )) - (call_expression "(uint)(local_bc < uVar60)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc < uVar60)" ( (binary_expression "local_bc < uVar60" identifier < identifier) )))) )) + identifier) + (cast_expression "(uint)CARRY4((int)local_bc - uVar60,local_c4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_bc - uVar60,local_c4)" identifier (argument_list "((int)local_bc - uVar60,local_c4)" ( (binary_expression "(int)local_bc - uVar60" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) , identifier ))))) )))) (ERROR ";\n        if" ; if) (argument_list "(puVar74 < puVar71 || (uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38))" ( (binary_expression "puVar74 < puVar71 || (uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38)" (binary_expression "puVar74 < puVar71" identifier < identifier) || (binary_expression "(uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38)" (call_expression "(uint)((int)puVar74 - (int)puVar71)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar74 - (int)puVar71)" ( (binary_expression "(int)puVar74 - (int)puVar71" (cast_expression "(int)puVar74" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar71" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(puVar77 < puVar38)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar77 < puVar38)" ( (binary_expression "puVar77 < puVar38" identifier < identifier) ))))) ))) (compound_statement "{\n          puVar77 = puVar38;\n          puVar74 = puVar71;\n        }" { (expression_statement "puVar77 = puVar38;" (assignment_expression "puVar77 = puVar38" identifier = identifier) ;) (expression_statement "puVar74 = puVar71;" (assignment_expression "puVar74 = puVar71" identifier = identifier) ;) })) identifier = * ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) & ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                           super_Relobj.super_Object.input_file_;" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                           super_Relobj.super_Object.input_file_" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                           super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.\n                           super_Relobj.super_Object.input_file_" (field_expression "_false>.\n                           super_Relobj.super_Object" (field_expression "_false>.\n                           super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) * ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) & ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n             bVar70 & 0xfa;\n        if ((bVar70 & 8) == 0) {\n          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8;\n        }\n        else if ((bVar70 & 2) != 0) goto LAB_0008b9d8;" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n             bVar70 & 0xfa" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.super_Object.input_file_ =\n             bVar70 & 0xfa" (field_expression "_false>.super_Relobj.super_Object.input_file_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "bVar70 & 0xfa" identifier & number_literal))) ; if (parenthesized_expression "((bVar70 & 8) == 0)" ( (binary_expression "(bVar70 & 8) == 0" (parenthesized_expression "(bVar70 & 8)" ( (binary_expression "bVar70 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8;\n        }" { (expression_statement "*(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8;" (pointer_expression "*(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8" * (cast_expression "(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8" & (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                    super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.super_Object.input_file_ =\n               bVar70 & 0xf8" (field_expression "_false>.super_Relobj.super_Object.input_file_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "bVar70 & 0xf8" identifier & number_literal))) ))))) ;) }) else if (parenthesized_expression "((bVar70 & 2) != 0)" ( (binary_expression "(bVar70 & 2) != 0" (parenthesized_expression "(bVar70 & 2)" ( (binary_expression "bVar70 & 2" identifier & number_literal) )) != number_literal) )) identifier identifier ;) (assignment_expression "bVar70 = *(byte *)(iVar59 + 0x1c)" identifier = (pointer_expression "*(byte *)(iVar59 + 0x1c)" * (cast_expression "(byte *)(iVar59 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x1c)" ( (binary_expression "iVar59 + 0x1c" identifier + number_literal) ))))) (ERROR ";" ;) ( (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity\n             = (size_type)puVar77" (field_expression "_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity" (field_expression "_false>.super_Relobj.super_Object.name_.field_2" (field_expression "_false>.super_Relobj.super_Object.name_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)puVar77" ( (type_descriptor "size_type" type_identifier) ) identifier)) (ERROR ";" ;) * ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) ( (ERROR "(int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = puVar74\n        ;\n        if ((bVar70 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }\n        uVar37 = *(uint *)(iVar59 + 0x14);\n        iVar47 = *(int *)(iVar59 + 0x18);\n        psVar81 = (size_t *)&stack0xfffffeb4;\n        if ((bVar70 & 1) == 0) goto LAB_0008bf5b;\n        uVar75 = *(uint *)(iVar59 + 4);\n        uVar78 = *(uint *)(iVar59 + 4);" (call_expression "(int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = puVar74\n        ;\n        if ((bVar70 & 4) == 0)" (cast_expression "(int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = puVar74" ( (type_descriptor "int" primitive_type) ) (assignment_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = puVar74" (pointer_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4)" & (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4)" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.super_Relobj.super_Object.name_.field_2 + 4" (field_expression "_false>.super_Relobj.super_Object.name_.field_2" (field_expression "_false>.super_Relobj.super_Object.name_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) ))) = identifier)) (ERROR ";\n        if" ; if) (argument_list "((bVar70 & 4) == 0)" ( (binary_expression "(bVar70 & 4) == 0" (parenthesized_expression "(bVar70 & 4)" ( (binary_expression "bVar70 & 4" identifier & number_literal) )) == number_literal) ))) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) }) (assignment_expression "uVar37 = *(uint *)(iVar59 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar59 + 0x14)" * (cast_expression "(uint *)(iVar59 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x14)" ( (binary_expression "iVar59 + 0x14" identifier + number_literal) ))))) ; (assignment_expression "iVar47 = *(int *)(iVar59 + 0x18)" identifier = (pointer_expression "*(int *)(iVar59 + 0x18)" * (cast_expression "(int *)(iVar59 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x18)" ( (binary_expression "iVar59 + 0x18" identifier + number_literal) ))))) ; (call_expression "psVar81 = (size_t *)&stack0xfffffeb4;\n        if ((bVar70 & 1) == 0)" (assignment_expression "psVar81 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) (ERROR ";\n        if" ; if) (argument_list "((bVar70 & 1) == 0)" ( (binary_expression "(bVar70 & 1) == 0" (parenthesized_expression "(bVar70 & 1)" ( (binary_expression "bVar70 & 1" identifier & number_literal) )) == number_literal) ))) identifier identifier ; (assignment_expression "uVar75 = *(uint *)(iVar59 + 4)" identifier = (pointer_expression "*(uint *)(iVar59 + 4)" * (cast_expression "(uint *)(iVar59 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 4)" ( (binary_expression "iVar59 + 4" identifier + number_literal) ))))) ; (assignment_expression "uVar78 = *(uint *)(iVar59 + 4)" identifier = (pointer_expression "*(uint *)(iVar59 + 4)" * (cast_expression "(uint *)(iVar59 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 4)" ( (binary_expression "iVar59 + 4" identifier + number_literal) ))))) ;) (assignment_expression "iVar76 = *(int *)(iVar59 + 8)" identifier = (pointer_expression "*(int *)(iVar59 + 8)" * (cast_expression "(int *)(iVar59 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 8)" ( (binary_expression "iVar59 + 8" identifier + number_literal) ))))) (ERROR ";" ;) * ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) ( (ERROR "(int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8) =\n             uVar60 + *(uint *)(iVar59 + 0x14);" (cast_expression "(int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8) =\n             uVar60 + *(uint *)(iVar59 + 0x14)" ( (type_descriptor "int" primitive_type) ) (assignment_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8) =\n             uVar60 + *(uint *)(iVar59 + 0x14)" (pointer_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8)" & (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8)" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.\n                        super_Relobj.super_Object.name_.field_2 + 8" (field_expression "_false>.\n                        super_Relobj.super_Object.name_.field_2" (field_expression "_false>.\n                        super_Relobj.super_Object.name_" (field_expression "_false>.\n                        super_Relobj.super_Object" (field_expression "_false>.\n                        super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) ))) = (binary_expression "uVar60 + *(uint *)(iVar59 + 0x14)" identifier + (pointer_expression "*(uint *)(iVar59 + 0x14)" * (cast_expression "(uint *)(iVar59 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x14)" ( (binary_expression "iVar59 + 0x14" identifier + number_literal) ))))))) ;) identifier = ( (type_descriptor "Parameters *" type_identifier (abstract_pointer_declarator "*" *)) ) ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                  super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.super_Relobj.super_Object._vptr_Object" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n             (pointer)(uVar60 + uVar78);" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n             (pointer)(uVar60 + uVar78)" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n             (pointer)(uVar60 + uVar78)" (field_expression "_false>.super_Relobj.super_Object.name_._M_dataplus._M_p" (field_expression "_false>.super_Relobj.super_Object.name_._M_dataplus" (field_expression "_false>.super_Relobj.super_Object.name_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (call_expression "(pointer)(uVar60 + uVar78)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(uVar60 + uVar78)" ( (binary_expression "uVar60 + uVar78" identifier + identifier) ))))) ;) ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =\n             uVar84 + iVar76 + (uint)CARRY4(uVar60,uVar75);" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =\n             uVar84 + iVar76 + (uint)CARRY4(uVar60,uVar75)" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n        super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.super_Object.name_._M_string_length =\n             uVar84 + iVar76 + (uint)CARRY4(uVar60,uVar75)" (field_expression "_false>.super_Relobj.super_Object.name_._M_string_length" (field_expression "_false>.super_Relobj.super_Object.name_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "uVar84 + iVar76 + (uint)CARRY4(uVar60,uVar75)" (binary_expression "uVar84 + iVar76" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar60,uVar75)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar60,uVar75)" identifier (argument_list "(uVar60,uVar75)" ( identifier , identifier ))))))) ;) * ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) ( (cast_expression "(int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 0xc) =\n             uVar84 + iVar47 + (uint)CARRY4(uVar60,uVar37)" ( (type_descriptor "int" primitive_type) ) (assignment_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 0xc) =\n             uVar84 + iVar47 + (uint)CARRY4(uVar60,uVar37)" (pointer_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 0xc)" & (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 0xc)" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object.name_.field_2 + 0xc" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                        super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.\n                        super_Relobj.super_Object.name_.field_2 + 0xc" (field_expression "_false>.\n                        super_Relobj.super_Object.name_.field_2" (field_expression "_false>.\n                        super_Relobj.super_Object.name_" (field_expression "_false>.\n                        super_Relobj.super_Object" (field_expression "_false>.\n                        super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) ))) = (binary_expression "uVar84 + iVar47 + (uint)CARRY4(uVar60,uVar37)" (binary_expression "uVar84 + iVar47" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar60,uVar37)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar60,uVar37)" identifier (argument_list "(uVar60,uVar37)" ( identifier , identifier ))))))) (ERROR ";\n        ppIVar1 =" ; identifier =) & ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.super_Relobj.super_Object.input_file_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (call_expression "*(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;\n        (*(code *)pPVar49[1].incremental_mode_)(unaff_EBX)" (call_expression "*(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;\n        (*(code *)pPVar49[1].incremental_mode_)" (assignment_expression "*(byte *)ppIVar1 = *(byte *)ppIVar1 | 5" (pointer_expression "*(byte *)ppIVar1" * (cast_expression "(byte *)ppIVar1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)ppIVar1 | 5" (pointer_expression "*(byte *)ppIVar1" * (cast_expression "(byte *)ppIVar1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal)) (ERROR ";" ;) (argument_list "(*(code *)pPVar49[1].incremental_mode_)" ( (pointer_expression "*(code *)pPVar49[1].incremental_mode_" * (cast_expression "(code *)pPVar49[1].incremental_mode_" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPVar49[1].incremental_mode_" (subscript_expression "pPVar49[1]" identifier [ number_literal ]) . field_identifier))) ))) (argument_list "(unaff_EBX)" ( identifier ))) (ERROR ";\n        if" ; if) ( (binary_expression "((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)\n        goto LAB_0008c197;\n        ppSVar39 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)::Stub_table<64" (assignment_expression "((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)\n        goto LAB_0008c197;\n        ppSVar39 = (this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)" (parenthesized_expression "((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)" ( (binary_expression "(uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0" (call_expression "(uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2)" ( (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                   super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.super_Relobj.super_Object.input_file_ & 2" (field_expression "_false>.super_Relobj.super_Object.input_file_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) & number_literal) ))) == number_literal) )) (ERROR "goto LAB_0008c197;\n        ppSVar39" identifier identifier ; identifier) = (binary_expression "(this->stub_tables_).\n                   super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                   super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < number_literal) , (binary_expression "_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64" (binary_expression "_false>*,_std::allocator<(anonymous_namespace)" (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < number_literal) , (assignment_expression "_false>*>_>\n                   ._M_impl._M_finish;\n        if (ppSVar39 == local_cc) break;\n        unaff_EBX = (undefined **)*local_cc" (call_expression "_false>*>_>\n                   ._M_impl._M_finish;\n        if (ppSVar39 == local_cc)" (field_expression "_false>*>_>\n                   ._M_impl._M_finish" (field_expression "_false>*>_>\n                   ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) (ERROR ";\n        if" ; if) (argument_list "(ppSVar39 == local_cc)" ( (binary_expression "ppSVar39 == local_cc" identifier == identifier) ))) (ERROR "break;\n        unaff_EBX" identifier ; identifier) = (cast_expression "(undefined **)*local_cc" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_cc" * identifier))) (ERROR ";\n        iVar59 =" ; identifier =) * ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) & ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object.field_0x2c;" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object.field_0x2c" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.\n                          super_Relobj.super_Object.field_0x2c" (field_expression "_false>.\n                          super_Relobj.super_Object" (field_expression "_false>.\n                          super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) identifier = ( (ERROR "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;\n        iVar47 = *(int *)(iVar59 + 0x84);\n        psVar81 = (size_t *)&stack0xfffffeb4;\n        if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) goto LAB_0008bf9d;\n        uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);\n        uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);\n        uVar37 = uVar84 & uVar60;\n      }\n      if (pass != 1) goto LAB_00089837;\n      local_120 = 0;\n      ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>\n                 ._M_impl._M_start;\n    }" (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                 super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).\n                 super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.super_Relobj.super_Object.xindex_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ; (assignment_expression "iVar47 = *(int *)(iVar59 + 0x84)" identifier = (pointer_expression "*(int *)(iVar59 + 0x84)" * (cast_expression "(int *)(iVar59 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x84)" ( (binary_expression "iVar59 + 0x84" identifier + number_literal) ))))) ; (call_expression "psVar81 = (size_t *)&stack0xfffffeb4;\n        if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9)" (assignment_expression "psVar81 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) (ERROR ";\n        if" ; if) (argument_list "((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9)" ( (binary_expression "(Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9" (cast_expression "(Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar59 + 0x88) - iVar47 >> 3)" ( (binary_expression "*(int *)(iVar59 + 0x88) - iVar47 >> 3" (binary_expression "*(int *)(iVar59 + 0x88) - iVar47" (pointer_expression "*(int *)(iVar59 + 0x88)" * (cast_expression "(int *)(iVar59 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar59 + 0x88)" ( (binary_expression "iVar59 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) ))) <= identifier) ))) identifier identifier ; (assignment_expression "uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8)" identifier = (pointer_expression "*(uint *)(iVar47 + (int)pXVar9 * 8)" * (cast_expression "(uint *)(iVar47 + (int)pXVar9 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + (int)pXVar9 * 8)" ( (binary_expression "iVar47 + (int)pXVar9 * 8" identifier + (binary_expression "(int)pXVar9 * 8" (cast_expression "(int)pXVar9" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ; (assignment_expression "uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8)" identifier = (pointer_expression "*(uint *)(iVar47 + 4 + (int)pXVar9 * 8)" * (cast_expression "(uint *)(iVar47 + 4 + (int)pXVar9 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 4 + (int)pXVar9 * 8)" ( (binary_expression "iVar47 + 4 + (int)pXVar9 * 8" (binary_expression "iVar47 + 4" identifier + number_literal) + (binary_expression "(int)pXVar9 * 8" (cast_expression "(int)pXVar9" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ; (call_expression "uVar37 = uVar84 & uVar60;\n      }\n      if (pass != 1)" (assignment_expression "uVar37 = uVar84 & uVar60" identifier = (binary_expression "uVar84 & uVar60" identifier & identifier)) (ERROR ";\n      }\n      if" ; } if) (argument_list "(pass != 1)" ( (binary_expression "pass != 1" identifier != number_literal) ))) identifier identifier ; (assignment_expression "local_120 = 0" identifier = number_literal) ; (assignment_expression "ppSVar72 = (this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->stub_tables_).\n                 super__Vector_base<(anonymous_namespace)" (field_expression "(this->stub_tables_).\n                 super__Vector_base" (parenthesized_expression "(this->stub_tables_)" ( (field_expression "this->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Stub_table<64,_false>*,_std" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier))) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Stub_table<64,_false>*>_>\n                 ._M_impl._M_start" (binary_expression "Stub_table<64" identifier < number_literal) , (field_expression "_false>*>_>\n                 ._M_impl._M_start" (field_expression "_false>*>_>\n                 ._M_impl" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier)) ; }) identifier = ( (ERROR "Powerpc_relobj<64,_false> *)0x0;\n    iVar59 = (int)ppSVar39 - (int)ppSVar72;\n    this->relax_failed_ = false;\n    if (ppSVar72 != ppSVar39) {\n      local_110 = (Powerpc_relobj<64,_false> *)*ppSVar72;\n    }\n  }\n  local_ac = &_GLOBAL_OFFSET_TABLE_;\n  psVar82 = (size_t *)&stack0xfffffeb4;\n  psVar81 = (size_t *)&stack0xfffffeb4;" (comma_expression "Powerpc_relobj<64,_false> *)0x0" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ; (assignment_expression "iVar59 = (int)ppSVar39 - (int)ppSVar72" identifier = (binary_expression "(int)ppSVar39 - (int)ppSVar72" (cast_expression "(int)ppSVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppSVar72" ( (type_descriptor "int" primitive_type) ) identifier))) ; (call_expression "this->relax_failed_ = false;\n    if (ppSVar72 != ppSVar39)" (assignment_expression "this->relax_failed_ = false" (field_expression "this->relax_failed_" identifier -> field_identifier) = false) (ERROR ";\n    if" ; if) (argument_list "(ppSVar72 != ppSVar39)" ( (binary_expression "ppSVar72 != ppSVar39" identifier != identifier) ))) (compound_statement "{\n      local_110 = (Powerpc_relobj<64,_false> *)*ppSVar72;\n    }" { (expression_statement "local_110 = (Powerpc_relobj<64,_false> *)*ppSVar72;" (assignment_expression "local_110 = (Powerpc_relobj<64,_false> *)*ppSVar72" identifier = (binary_expression "(Powerpc_relobj<64,_false> *)*ppSVar72" (parenthesized_expression "(Powerpc_relobj<64,_false> *)" ( (comma_expression "Powerpc_relobj<64,_false> *" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) * identifier)) ;) }) } (assignment_expression "local_ac = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ; (assignment_expression "psVar82 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ; (assignment_expression "psVar81 = (size_t *)&stack0xfffffeb4" identifier = (cast_expression "(size_t *)&stack0xfffffeb4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffeb4" & identifier))) ;) identifier = ( (ERROR "Powerpc_relobj<64,_false> *)0x0;\n  if (iVar59 == 4) {\n    pPVar40 = local_110;\n  }\n  local_a8 = (this->branch_info_).\n             super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>\n             ._M_impl._M_start;\n  if ((this->branch_info_).\n      super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>\n      ._M_impl._M_finish != local_a8)" (comma_expression "Powerpc_relobj<64,_false> *)0x0" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ; if (parenthesized_expression "(iVar59 == 4)" ( (binary_expression "iVar59 == 4" identifier == number_literal) )) (compound_statement "{\n    pPVar40 = local_110;\n  }" { (expression_statement "pPVar40 = local_110;" (assignment_expression "pPVar40 = local_110" identifier = identifier) ;) }) (assignment_expression "local_a8 = (this->branch_info_).\n             super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->branch_info_).\n             super__Vector_base<(anonymous_namespace)" (field_expression "(this->branch_info_).\n             super__Vector_base" (parenthesized_expression "(this->branch_info_)" ( (field_expression "this->branch_info_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Target_powerpc<64,_false>::Branch_info,_std" (binary_expression "Target_powerpc<64" identifier < number_literal) , (comma_expression "_false>::Branch_info,_std" (binary_expression "_false>::Branch_info" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Target_powerpc<64,_false>::Branch_info>_>\n             ._M_impl._M_start" (binary_expression "Target_powerpc<64" identifier < number_literal) , (field_expression "_false>::Branch_info>_>\n             ._M_impl._M_start" (field_expression "_false>::Branch_info>_>\n             ._M_impl" (binary_expression "_false>::Branch_info>_" (binary_expression "_false>::Branch_info" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ; if (parenthesized_expression "((this->branch_info_).\n      super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>\n      ._M_impl._M_finish != local_a8)" ( (ERROR "(this->branch_info_).\n      super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::" (comma_expression "(this->branch_info_).\n      super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std" (binary_expression "(this->branch_info_).\n      super__Vector_base<(anonymous_namespace)::Target_powerpc<64" (binary_expression "(this->branch_info_).\n      super__Vector_base<(anonymous_namespace)" (field_expression "(this->branch_info_).\n      super__Vector_base" (parenthesized_expression "(this->branch_info_)" ( (field_expression "this->branch_info_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_powerpc" : : identifier) < number_literal) , (comma_expression "_false>::Branch_info,_std" (binary_expression "_false>::Branch_info" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Target_powerpc<64,_false>::Branch_info>_>\n      ._M_impl._M_finish != local_a8" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_false>::Branch_info>_>\n      ._M_impl._M_finish != local_a8" (field_expression "_false>::Branch_info>_>\n      ._M_impl._M_finish" (field_expression "_false>::Branch_info>_>\n      ._M_impl" (binary_expression "_false>::Branch_info>_" (binary_expression "_false>::Branch_info" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier)) ))) { do { (expression_statement "pPVar64 = local_a8->object_;" (assignment_expression "pPVar64 = local_a8->object_" identifier = (field_expression "local_a8->object_" identifier -> field_identifier)) ;) (expression_statement "uVar60 = local_a8->r_sym_;" (assignment_expression "uVar60 = local_a8->r_sym_" identifier = (field_expression "local_a8->r_sym_" identifier -> field_identifier)) ;) (expression_statement "uVar84 = (pPVar64->super_Sized_relobj_file<64,_false>).local_symbol_count_;" (assignment_expression "uVar84 = (pPVar64->super_Sized_relobj_file<64,_false>).local_symbol_count_" identifier = (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).local_symbol_count_" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) ;) (expression_statement "psVar82 = psVar81;" (assignment_expression "psVar82 = psVar81" identifier = identifier) ;) (expression_statement "local_b4 = pPVar40;" (assignment_expression "local_b4 = pPVar40" identifier = identifier) ;) if (parenthesized_expression "(uVar60 < uVar84)" ( (binary_expression "uVar60 < uVar84" identifier < identifier) )) { (expression_statement "pTVar88 = gold::parameters->target_;" (field_expression "pTVar88 = gold::parameters->target_" (assignment_expression "pTVar88 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pTVar88 == (Target *)0x0) goto LAB_0008c096;" if (parenthesized_expression "(pTVar88 == (Target *)0x0)" ( (binary_expression "pTVar88 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0008c096;" goto statement_identifier ;)) (labeled_statement "LAB_000899b9:\n        pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;" statement_identifier : (expression_statement "pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;" (assignment_expression "pSVar54 = (Symbol *)pTVar88[9]._vptr_Target" identifier = (cast_expression "(Symbol *)pTVar88[9]._vptr_Target" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTVar88[9]._vptr_Target" (subscript_expression "pTVar88[9]" identifier [ number_literal ]) . field_identifier))) ;)) (if_statement "if ((pTVar88[8].osabi_ == ELFOSABI_NONE) && (pSVar54 != (Symbol *)0x0)) goto LAB_00089257;" if (parenthesized_expression "((pTVar88[8].osabi_ == ELFOSABI_NONE) && (pSVar54 != (Symbol *)0x0))" ( (binary_expression "(pTVar88[8].osabi_ == ELFOSABI_NONE) && (pSVar54 != (Symbol *)0x0)" (parenthesized_expression "(pTVar88[8].osabi_ == ELFOSABI_NONE)" ( (binary_expression "pTVar88[8].osabi_ == ELFOSABI_NONE" (field_expression "pTVar88[8].osabi_" (subscript_expression "pTVar88[8]" identifier [ number_literal ]) . field_identifier) == identifier) )) && (parenthesized_expression "(pSVar54 != (Symbol *)0x0)" ( (binary_expression "pSVar54 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_00089257;" goto statement_identifier ;)) (labeled_statement "LAB_000899d1:\n        pSVar54 = (Symbol *)0x0;" statement_identifier : (expression_statement "pSVar54 = (Symbol *)0x0;" (assignment_expression "pSVar54 = (Symbol *)0x0" identifier = (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "psVar81[-3] = uVar60;" (assignment_expression "psVar81[-3] = uVar60" (subscript_expression "psVar81[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "psVar81[-4] = (size_t)pPVar64;" (assignment_expression "psVar81[-4] = (size_t)pPVar64" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)pPVar64" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "psVar81[-5] = 0x899e3;" (assignment_expression "psVar81[-5] = 0x899e3" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar92 = gold::" (assignment_expression "bVar92 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::local_has_plt_offset\n                           ((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3]);" (comma_expression "Sized_relobj_file<64,_false>::local_has_plt_offset\n                           ((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3])" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::local_has_plt_offset\n                           ((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3])" identifier > (ERROR "::" : :) (call_expression "local_has_plt_offset\n                           ((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3])" identifier (argument_list "((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3])" ( (parenthesized_expression "(Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3])" ( (comma_expression "Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3]" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false> *)psVar81[-4],psVar81[-3]" (binary_expression "_false> *)psVar81[-4]" identifier > (pointer_expression "*)psVar81[-4]" * (ERROR ")" )) (subscript_expression "psVar81[-4]" identifier [ number_literal ]))) , (subscript_expression "psVar81[-3]" identifier [ number_literal ]))) )) ))))) ;) (expression_statement "unaff_EBX = local_ac;" (assignment_expression "unaff_EBX = local_ac" identifier = identifier) ;) (if_statement "if (bVar92) goto LAB_00089ed0;" if (parenthesized_expression "(bVar92)" ( identifier )) (goto_statement "goto LAB_00089ed0;" goto statement_identifier ;)) (labeled_statement "LAB_000899ee:\n        uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;" statement_identifier : (expression_statement "uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;" (assignment_expression "uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff" identifier = (binary_expression "*(uint *)&local_a8->field_0x10 & 0x7fffffff" (pointer_expression "*(uint *)&local_a8->field_0x10" * (cast_expression "(uint *)&local_a8->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_a8->field_0x10" & (field_expression "local_a8->field_0x10" identifier -> field_identifier)))) & number_literal)) ;)) (if_statement "if (uVar84 - 0xb < 3) {\n          local_f4 = (_Hash_node_base *)0x8000;\n        }\n        else {\n          if (((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)) goto LAB_00089370;\n          local_f4 = (_Hash_node_base *)0x2000000;\n        }" if (parenthesized_expression "(uVar84 - 0xb < 3)" ( (binary_expression "uVar84 - 0xb < 3" (binary_expression "uVar84 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n          local_f4 = (_Hash_node_base *)0x8000;\n        }" { (expression_statement "local_f4 = (_Hash_node_base *)0x8000;" (assignment_expression "local_f4 = (_Hash_node_base *)0x8000" identifier = (cast_expression "(_Hash_node_base *)0x8000" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          if (((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)) goto LAB_00089370;\n          local_f4 = (_Hash_node_base *)0x2000000;\n        }" else (compound_statement "{\n          if (((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)) goto LAB_00089370;\n          local_f4 = (_Hash_node_base *)0x2000000;\n        }" { (if_statement "if (((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)) goto LAB_00089370;" if (parenthesized_expression "(((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17))" ( (binary_expression "((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)" (parenthesized_expression "((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar84 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "uVar84 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar84 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar84 != 0x17)" ( (binary_expression "uVar84 != 0x17" identifier != number_literal) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "local_f4 = (_Hash_node_base *)0x2000000;" (assignment_expression "local_f4 = (_Hash_node_base *)0x2000000" identifier = (cast_expression "(_Hash_node_base *)0x2000000" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pPVar64 = local_a8->object_;" (assignment_expression "pPVar64 = local_a8->object_" identifier = (field_expression "local_a8->object_" identifier -> field_identifier)) ;) (expression_statement "uVar84 = local_a8->shndx_;" (assignment_expression "uVar84 = local_a8->shndx_" identifier = (field_expression "local_a8->shndx_" identifier -> field_identifier)) ;) (ERROR "puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (assignment_expression "puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" identifier = (binary_expression "(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal)) , (comma_expression "_false>.\n                  section_offsets_.\n                  super__Vector_base<long_long_unsigned_int,_std" (binary_expression "_false>.\n                  section_offsets_.\n                  super__Vector_base<long_long_unsigned_int" (field_expression "_false>.\n                  section_offsets_.\n                  super__Vector_base" (field_expression "_false>.\n                  section_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier) , identifier)) : :) (expression_statement "allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_start;" (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl._M_start" (field_expression "allocator<long_long_unsigned_int>_>\n                  ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84) goto LAB_0008bf9d;" if (parenthesized_expression "((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84)" ( (binary_expression "(uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84" (call_expression "(uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3)" ( (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (cast_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (binary_expression "_false>.\n                        section_offsets_.\n                        super__Vector_base<long_long_unsigned_int" (field_expression "_false>.\n                        section_offsets_.\n                        super__Vector_base" (field_expression "_false>.\n                        section_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77 >> 3" (binary_expression "allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish - (int)puVar77" (field_expression "allocator<long_long_unsigned_int>_>\n                        ._M_impl._M_finish" (field_expression "allocator<long_long_unsigned_int>_>\n                        ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)puVar77" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008bf9d;" goto statement_identifier ;)) (expression_statement "uVar60 = *(uint *)((int)puVar77 + uVar84 * 8 + 4);" (assignment_expression "uVar60 = *(uint *)((int)puVar77 + uVar84 * 8 + 4)" identifier = (pointer_expression "*(uint *)((int)puVar77 + uVar84 * 8 + 4)" * (cast_expression "(uint *)((int)puVar77 + uVar84 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar77 + uVar84 * 8 + 4)" ( (binary_expression "(int)puVar77 + uVar84 * 8 + 4" (binary_expression "(int)puVar77 + uVar84 * 8" (cast_expression "(int)puVar77" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar84 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar37 = (uint)puVar77[uVar84];" (assignment_expression "uVar37 = (uint)puVar77[uVar84]" identifier = (cast_expression "(uint)puVar77[uVar84]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar77[uVar84]" identifier [ identifier ]))) ;) (if_statement "if ((uVar60 & uVar37) == 0xffffffff) {\n          psVar81[-2] = (size_t)"make_stub";\n          psVar81[-3] = 0xd3b;\n          psVar81[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n          psVar81[-5] = 0x8c39c;\n          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n        }" if (parenthesized_expression "((uVar60 & uVar37) == 0xffffffff)" ( (binary_expression "(uVar60 & uVar37) == 0xffffffff" (parenthesized_expression "(uVar60 & uVar37)" ( (binary_expression "uVar60 & uVar37" identifier & identifier) )) == number_literal) )) (compound_statement "{\n          psVar81[-2] = (size_t)"make_stub";\n          psVar81[-3] = 0xd3b;\n          psVar81[-4] = (size_t)"../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n          psVar81[-5] = 0x8c39c;\n          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n        }" { (expression_statement "psVar81[-2] = (size_t)"make_stub";" (assignment_expression "psVar81[-2] = (size_t)"make_stub"" (subscript_expression "psVar81[-2]" identifier [ number_literal ]) = (cast_expression "(size_t)"make_stub"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""make_stub"" " string_content "))) ;) (expression_statement "psVar81[-3] = 0xd3b;" (assignment_expression "psVar81[-3] = 0xd3b" (subscript_expression "psVar81[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar81[-4] = (size_t)"../../gold/powerpc.cc";" (assignment_expression "psVar81[-4] = (size_t)"../../gold/powerpc.cc"" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)"../../gold/powerpc.cc"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""../../gold/powerpc.cc"" " string_content "))) ;) comment (expression_statement "psVar81[-5] = 0x8c39c;" (assignment_expression "psVar81[-5] = 0x8c39c" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);" (call_expression "do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2])" identifier (argument_list "((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2])" ( (cast_expression "(char *)psVar81[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar81[-4]" identifier [ number_literal ])) , (subscript_expression "psVar81[-3]" identifier [ number_literal ]) , (cast_expression "(char *)psVar81[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar81[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.super_Object._vptr_Object[0x18];" (comma_expression "p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.super_Object._vptr_Object[0x18]" (assignment_expression "p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" identifier = (binary_expression "(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal)) , (subscript_expression "_false>.\n                  super_Relobj.super_Object._vptr_Object[0x18]" (field_expression "_false>.\n                  super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                  super_Relobj.super_Object" (field_expression "_false>.\n                  super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var25 == gold::Relobj::do_output_section) {\n          unaff_EBX = (undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n          if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84) {\nLAB_0008c314:\n            psVar81[-2] = (size_t)"do_output_section";\n            psVar81[-3] = 0x5c8;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c335;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }\n          pPVar49 = (Parameters *)\n                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]\n          ;\n        }\n        else {\n          psVar81[-3] = uVar84;\n          psVar81[-4] = (size_t)pPVar64;\n          psVar81[-5] = 0x8adac;\n          pPVar49 = (Parameters *)(*p_Var25)();\n          unaff_EBX = (undefined **)gold::Relobj::do_output_section;\n        }" if (parenthesized_expression "(p_Var25 == gold::Relobj::do_output_section)" ( (ERROR "p_Var25 == gold::Relobj::" (binary_expression "p_Var25 == gold" identifier == identifier) : : identifier : :) identifier )) (compound_statement "{\n          unaff_EBX = (undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n          if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84) {\nLAB_0008c314:\n            psVar81[-2] = (size_t)"do_output_section";\n            psVar81[-3] = 0x5c8;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c335;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }\n          pPVar49 = (Parameters *)\n                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]\n          ;\n        }" { (ERROR "unaff_EBX = (undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ." (comma_expression "unaff_EBX = (undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                      super_Relobj.output_sections_.\n                      super__Vector_base<gold" (assignment_expression "unaff_EBX = (undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" identifier = (binary_expression "(undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64" (cast_expression "(undefined **)\n                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal)) , (binary_expression "_false>.\n                      super_Relobj.output_sections_.\n                      super__Vector_base<gold" (field_expression "_false>.\n                      super_Relobj.output_sections_.\n                      super__Vector_base" (field_expression "_false>.\n                      super_Relobj.output_sections_" (field_expression "_false>.\n                      super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) < identifier)) : : identifier * , identifier : : identifier < identifier : : identifier * > identifier > .) (expression_statement "_M_impl._M_start;" (field_expression "_M_impl._M_start" identifier . field_identifier) ;) (if_statement "if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84) {\nLAB_0008c314:\n            psVar81[-2] = (size_t)"do_output_section";\n            psVar81[-3] = 0x5c8;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c335;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }" if (parenthesized_expression "((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84)" ( (binary_expression "(uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84" (call_expression "(uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2)" ( (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64" (cast_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (binary_expression "_false>.super_Relobj.output_sections_.\n                          super__Vector_base<gold" (field_expression "_false>.super_Relobj.output_sections_.\n                          super__Vector_base" (field_expression "_false>.super_Relobj.output_sections_" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) < identifier) (ERROR "::Output_section*" : : identifier *) , (ERROR "_std::allocator<gold::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX >> 2" (binary_expression "Output_section*>_>\n                          ._M_impl._M_finish - (int)unaff_EBX" (field_expression "Output_section*>_>\n                          ._M_impl._M_finish" (field_expression "Output_section*>_>\n                          ._M_impl" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0008c314:\n            psVar81[-2] = (size_t)"do_output_section";\n            psVar81[-3] = 0x5c8;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c335;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }" { (labeled_statement "LAB_0008c314:\n            psVar81[-2] = (size_t)"do_output_section";" statement_identifier : (expression_statement "psVar81[-2] = (size_t)"do_output_section";" (assignment_expression "psVar81[-2] = (size_t)"do_output_section"" (subscript_expression "psVar81[-2]" identifier [ number_literal ]) = (cast_expression "(size_t)"do_output_section"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""do_output_section"" " string_content "))) ;)) (expression_statement "psVar81[-3] = 0x5c8;" (assignment_expression "psVar81[-3] = 0x5c8" (subscript_expression "psVar81[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar81[-4] = (size_t)"../../gold/object.h";" (assignment_expression "psVar81[-4] = (size_t)"../../gold/object.h"" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)"../../gold/object.h"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""../../gold/object.h"" " string_content "))) ;) comment (expression_statement "psVar81[-5] = 0x8c335;" (assignment_expression "psVar81[-5] = 0x8c335" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);" (call_expression "do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2])" identifier (argument_list "((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2])" ( (cast_expression "(char *)psVar81[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar81[-4]" identifier [ number_literal ])) , (subscript_expression "psVar81[-3]" identifier [ number_literal ]) , (cast_expression "(char *)psVar81[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar81[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "pPVar49 = (Parameters *)\n                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]\n          ;" (assignment_expression "pPVar49 = (Parameters *)\n                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]" identifier = (cast_expression "(Parameters *)\n                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]" ( (type_descriptor "Parameters *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]" ( (pointer_expression "&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]" & (subscript_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]" (parenthesized_expression "(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)" ( (comma_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object" (binary_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj<64" (field_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)\n                      .super_Sized_relobj" (parenthesized_expression "((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)" ( (comma_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false" (binary_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64" (field_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file" (parenthesized_expression "(Powerpc_relobj<64,_false> *)unaff_EBX)" ( (comma_expression "Powerpc_relobj<64,_false> *)unaff_EBX" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)unaff_EBX" identifier > (pointer_expression "*)unaff_EBX" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (field_expression "_false>.super_Relobj.super_Object._vptr_Object" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) )) [ identifier ])) )))) ;) }) (else_clause "else {\n          psVar81[-3] = uVar84;\n          psVar81[-4] = (size_t)pPVar64;\n          psVar81[-5] = 0x8adac;\n          pPVar49 = (Parameters *)(*p_Var25)();\n          unaff_EBX = (undefined **)gold::Relobj::do_output_section;\n        }" else (compound_statement "{\n          psVar81[-3] = uVar84;\n          psVar81[-4] = (size_t)pPVar64;\n          psVar81[-5] = 0x8adac;\n          pPVar49 = (Parameters *)(*p_Var25)();\n          unaff_EBX = (undefined **)gold::Relobj::do_output_section;\n        }" { (expression_statement "psVar81[-3] = uVar84;" (assignment_expression "psVar81[-3] = uVar84" (subscript_expression "psVar81[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "psVar81[-4] = (size_t)pPVar64;" (assignment_expression "psVar81[-4] = (size_t)pPVar64" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)pPVar64" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "psVar81[-5] = 0x8adac;" (assignment_expression "psVar81[-5] = 0x8adac" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pPVar49 = (Parameters *)(*p_Var25)();" (assignment_expression "pPVar49 = (Parameters *)(*p_Var25)()" identifier = (cast_expression "(Parameters *)(*p_Var25)()" ( (type_descriptor "Parameters *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var25)()" (parenthesized_expression "(*p_Var25)" ( (pointer_expression "*p_Var25" * identifier) )) (argument_list "()" ( ))))) ;) (ERROR "unaff_EBX = (undefined **)gold::" (assignment_expression "unaff_EBX = (undefined **)gold" identifier = (cast_expression "(undefined **)gold" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) : :) (labeled_statement "Relobj::do_output_section;" statement_identifier : (ERROR ":" :) (expression_statement "do_output_section;" identifier ;)) }))) (if_statement "if (((uint)pPVar49->set_parameters_target_once_ & 1) == 0) goto LAB_0008bf5b;" if (parenthesized_expression "(((uint)pPVar49->set_parameters_target_once_ & 1) == 0)" ( (binary_expression "((uint)pPVar49->set_parameters_target_once_ & 1) == 0" (parenthesized_expression "((uint)pPVar49->set_parameters_target_once_ & 1)" ( (binary_expression "(uint)pPVar49->set_parameters_target_once_ & 1" (cast_expression "(uint)pPVar49->set_parameters_target_once_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPVar49->set_parameters_target_once_" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf5b;" goto statement_identifier ;)) (expression_statement "pGVar51 = pPVar49->options_;" (assignment_expression "pGVar51 = pPVar49->options_" identifier = (field_expression "pPVar49->options_" identifier -> field_identifier)) ;) (expression_statement "pTVar17 = pPVar49->timer_;" (assignment_expression "pTVar17 = pPVar49->timer_" identifier = (field_expression "pPVar49->timer_" identifier -> field_identifier)) ;) (expression_statement "iVar59 = *(int *)((int)&local_a8->offset_ + 4);" (assignment_expression "iVar59 = *(int *)((int)&local_a8->offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&local_a8->offset_ + 4)" * (cast_expression "(int *)((int)&local_a8->offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_a8->offset_ + 4)" ( (binary_expression "(int)&local_a8->offset_ + 4" (cast_expression "(int)&local_a8->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_a8->offset_" & (field_expression "local_a8->offset_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar84 = (uint)local_a8->offset_;" (assignment_expression "uVar84 = (uint)local_a8->offset_" identifier = (cast_expression "(uint)local_a8->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_a8->offset_" identifier -> field_identifier))) ;) if (parenthesized_expression "(pSVar54 == (Symbol *)0x0)" ( (binary_expression "pSVar54 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) { (expression_statement "pPVar64 = local_a8->object_;" (assignment_expression "pPVar64 = local_a8->object_" identifier = (field_expression "local_a8->object_" identifier -> field_identifier)) ;) (expression_statement "uVar75 = local_a8->r_sym_;" (assignment_expression "uVar75 = local_a8->r_sym_" identifier = (field_expression "local_a8->r_sym_" identifier -> field_identifier)) ;) (expression_statement "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                    ._M_impl._M_start;" (field_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                    ._M_impl._M_start" (field_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                    ._M_impl" (binary_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_" (binary_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_" (binary_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64" (binary_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold" (binary_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64>,_std" (binary_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold::Symbol_value<64" (assignment_expression "pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold" identifier = (binary_expression "(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base<gold" (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                    super__Vector_base" (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).local_values_" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar75) {\n            psVar81[-1] = (size_t)pSVar27;\n            psVar81[-2] = (size_t)"local_symbol";\n            psVar81[-3] = 0x8c1;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c2b0;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }" if (parenthesized_expression "((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar75)" ( (binary_expression "(uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar75" (call_expression "(uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333)" ( (binary_expression "((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333" (parenthesized_expression "((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2)" ( (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27 >> 2" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish - (int)pSVar27" (field_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl._M_finish" (field_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                           ._M_impl" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64>,_std" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold::Symbol_value<64" (binary_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base<gold" (cast_expression "(int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.\n                           super__Vector_base" (field_expression "(pPVar64->super_Sized_relobj_file<64,_false>).local_values_" (parenthesized_expression "(pPVar64->super_Sized_relobj_file<64,_false>)" ( (comma_expression "pPVar64->super_Sized_relobj_file<64,_false" (binary_expression "pPVar64->super_Sized_relobj_file<64" (field_expression "pPVar64->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)pSVar27" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n            psVar81[-1] = (size_t)pSVar27;\n            psVar81[-2] = (size_t)"local_symbol";\n            psVar81[-3] = 0x8c1;\n            psVar81[-4] = (size_t)"../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            psVar81[-5] = 0x8c2b0;\n            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n          }" { (expression_statement "psVar81[-1] = (size_t)pSVar27;" (assignment_expression "psVar81[-1] = (size_t)pSVar27" (subscript_expression "psVar81[-1]" identifier [ number_literal ]) = (cast_expression "(size_t)pSVar27" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "psVar81[-2] = (size_t)"local_symbol";" (assignment_expression "psVar81[-2] = (size_t)"local_symbol"" (subscript_expression "psVar81[-2]" identifier [ number_literal ]) = (cast_expression "(size_t)"local_symbol"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""local_symbol"" " string_content "))) ;) (expression_statement "psVar81[-3] = 0x8c1;" (assignment_expression "psVar81[-3] = 0x8c1" (subscript_expression "psVar81[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar81[-4] = (size_t)"../../gold/object.h";" (assignment_expression "psVar81[-4] = (size_t)"../../gold/object.h"" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)"../../gold/object.h"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""../../gold/object.h"" " string_content "))) ;) comment (expression_statement "psVar81[-5] = 0x8c2b0;" (assignment_expression "psVar81[-5] = 0x8c2b0" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);" (call_expression "do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2])" identifier (argument_list "((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2])" ( (cast_expression "(char *)psVar81[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar81[-4]" identifier [ number_literal ])) , (subscript_expression "psVar81[-3]" identifier [ number_literal ]) , (cast_expression "(char *)psVar81[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar81[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "status = CFVS_OK;" (assignment_expression "status = CFVS_OK" identifier = identifier) ;) (expression_statement "local_3c = (Powerpc_relobj<64,_false> *)0xffffffff;" (assignment_expression "local_3c = (Powerpc_relobj<64,_false> *)0xffffffff" identifier = (parenthesized_expression "(Powerpc_relobj<64,_false> *)0xffffffff" ( (comma_expression "Powerpc_relobj<64,_false> *)0xffffffff" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)0xffffffff" identifier > (pointer_expression "*)0xffffffff" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "local_38 = -0x80000000;" (assignment_expression "local_38 = -0x80000000" identifier = number_literal) ;) (expression_statement "local_34 = (Powerpc_relobj<64,_false> *)0x0;" (assignment_expression "local_34 = (Powerpc_relobj<64,_false> *)0x0" identifier = (parenthesized_expression "(Powerpc_relobj<64,_false> *)0x0" ( (comma_expression "Powerpc_relobj<64,_false> *)0x0" (binary_expression "Powerpc_relobj<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if ((pSVar27[uVar75].field_0xb & 0x10) != 0) {\n            local_38 = -0x70000000;\n          }" if (parenthesized_expression "((pSVar27[uVar75].field_0xb & 0x10) != 0)" ( (binary_expression "(pSVar27[uVar75].field_0xb & 0x10) != 0" (parenthesized_expression "(pSVar27[uVar75].field_0xb & 0x10)" ( (binary_expression "pSVar27[uVar75].field_0xb & 0x10" (field_expression "pSVar27[uVar75].field_0xb" (subscript_expression "pSVar27[uVar75]" identifier [ identifier ]) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            local_38 = -0x70000000;\n          }" { (expression_statement "local_38 = -0x70000000;" (assignment_expression "local_38 = -0x70000000" identifier = number_literal) ;) })) (expression_statement "psVar81[-4] = (size_t)symtab;" (assignment_expression "psVar81[-4] = (size_t)symtab" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)symtab" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "psVar81[-5] = (size_t)&status;" (assignment_expression "psVar81[-5] = (size_t)&status" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = (cast_expression "(size_t)&status" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&status" & identifier))) ;) (expression_statement "psVar81[-6] = (size_t)(pSVar27 + uVar75);" (assignment_expression "psVar81[-6] = (size_t)(pSVar27 + uVar75)" (subscript_expression "psVar81[-6]" identifier [ number_literal ]) = (cast_expression "(size_t)(pSVar27 + uVar75)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(pSVar27 + uVar75)" ( (binary_expression "pSVar27 + uVar75" identifier + identifier) )))) ;) (expression_statement "psVar81[-7] = uVar75;" (assignment_expression "psVar81[-7] = uVar75" (subscript_expression "psVar81[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "psVar81[-8] = (size_t)pPVar64;" (assignment_expression "psVar81[-8] = (size_t)pPVar64" (subscript_expression "psVar81[-8]" identifier [ number_literal ]) = (cast_expression "(size_t)pPVar64" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "unaff_EBX = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "unaff_EBX = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) comment (expression_statement "psVar81[-9] = 0x8a65b;" (assignment_expression "psVar81[-9] = 0x8a65b" (subscript_expression "psVar81[-9]" identifier [ number_literal ]) = number_literal) ;) (ERROR "CVar44 = gold::" (assignment_expression "CVar44 = gold" identifier = identifier) : :) (binary_expression "Sized_relobj_file<64" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( ( (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> *)psVar81[-8]" identifier > (pointer_expression "*)psVar81[-8]" * (ERROR ")" )) (subscript_expression "psVar81[-8]" identifier [ number_literal ]))) , (subscript_expression "psVar81[-7]" identifier [ number_literal ]) , ( (ERROR "Symbol_value<64> *)psVar81[-6],(Symbol_value<64> *)psVar81[-5],\n                              (Symbol_table *)psVar81[-4]);\n          if ((CVar44 != CFLV_OK) || (-1 < local_38)) {\n            psVar81[-4] = (size_t)&status;\n            psVar81[-5] = 0x8aebf;\n            gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\n            goto LAB_00089370;\n          }\n          psVar81[-1] = 0;\n          psVar81[-2] = 0;\n          psVar81[-3] = (size_t)local_a8->object_;\n          psVar81[-4] = (size_t)&status;\n          psVar81[-5] = 0x8a687;\n          VVar95 = gold::" (comma_expression "Symbol_value<64> *)psVar81[-6],(Symbol_value<64> *)psVar81[-5],\n                              (Symbol_table *)psVar81[-4])" (binary_expression "Symbol_value<64> *)psVar81[-6]" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)psVar81[-6]" * (ERROR ")" )) (subscript_expression "psVar81[-6]" identifier [ number_literal ]))) , (parenthesized_expression "(Symbol_value<64> *)psVar81[-5],\n                              (Symbol_table *)psVar81[-4])" ( (comma_expression "Symbol_value<64> *)psVar81[-5],\n                              (Symbol_table *)psVar81[-4]" (binary_expression "Symbol_value<64> *)psVar81[-5]" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)psVar81[-5]" * (ERROR ")" )) (subscript_expression "psVar81[-5]" identifier [ number_literal ]))) , (cast_expression "(Symbol_table *)psVar81[-4]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar81[-4]" identifier [ number_literal ]))) ))) ; if (parenthesized_expression "((CVar44 != CFLV_OK) || (-1 < local_38))" ( (binary_expression "(CVar44 != CFLV_OK) || (-1 < local_38)" (parenthesized_expression "(CVar44 != CFLV_OK)" ( (binary_expression "CVar44 != CFLV_OK" identifier != identifier) )) || (parenthesized_expression "(-1 < local_38)" ( (binary_expression "-1 < local_38" number_literal < identifier) ))) )) (compound_statement "{\n            psVar81[-4] = (size_t)&status;\n            psVar81[-5] = 0x8aebf;\n            gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\n            goto LAB_00089370;\n          }" { (expression_statement "psVar81[-4] = (size_t)&status;" (assignment_expression "psVar81[-4] = (size_t)&status" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)&status" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&status" & identifier))) ;) (expression_statement "psVar81[-5] = 0x8aebf;" (assignment_expression "psVar81[-5] = 0x8aebf" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);" statement_identifier (ERROR "::Symbol_value<64>:" : : (binary_expression "Symbol_value<64" identifier < number_literal) > :) : (expression_statement "~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);" (unary_expression "~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3])" ~ (call_expression "Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3])" identifier (argument_list "((Symbol_value<64> *)psVar81[-4],psVar81[-3])" ( (parenthesized_expression "(Symbol_value<64> *)psVar81[-4],psVar81[-3])" ( (comma_expression "Symbol_value<64> *)psVar81[-4],psVar81[-3]" (binary_expression "Symbol_value<64> *)psVar81[-4]" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)psVar81[-4]" * (ERROR ")" )) (subscript_expression "psVar81[-4]" identifier [ number_literal ]))) , (subscript_expression "psVar81[-3]" identifier [ number_literal ])) )) )))) ;)) (goto_statement "goto LAB_00089370;" goto statement_identifier ;) }) (assignment_expression "psVar81[-1] = 0" (subscript_expression "psVar81[-1]" identifier [ number_literal ]) = number_literal) ; (assignment_expression "psVar81[-2] = 0" (subscript_expression "psVar81[-2]" identifier [ number_literal ]) = number_literal) ; (assignment_expression "psVar81[-3] = (size_t)local_a8->object_" (subscript_expression "psVar81[-3]" identifier [ number_literal ]) = (cast_expression "(size_t)local_a8->object_" ( (type_descriptor "size_t" primitive_type) ) (field_expression "local_a8->object_" identifier -> field_identifier))) ; (assignment_expression "psVar81[-4] = (size_t)&status" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)&status" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&status" & identifier))) ; (assignment_expression "psVar81[-5] = 0x8a687" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ; (assignment_expression "VVar95 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<64>::value<false" (binary_expression "Symbol_value<64>::value" (binary_expression "Symbol_value<64" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (binary_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3] = (size_t)pSVar54;\n          psVar81[-4] = (size_t)symtab;\n          psVar81[-5] = 0x89b2b;\n          VVar93 = gold::Symbol_table::compute_final_value<64" (assignment_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3] = (size_t)pSVar54;\n          psVar81[-4] = (size_t)symtab;\n          psVar81[-5] = 0x89b2b" (subscript_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3] = (size_t)pSVar54;\n          psVar81[-4] = (size_t)symtab;\n          psVar81[-5]" (assignment_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3] = (size_t)pSVar54;\n          psVar81[-4] = (size_t)symtab" (subscript_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3] = (size_t)pSVar54;\n          psVar81[-4]" (assignment_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3] = (size_t)pSVar54" (subscript_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status;\n          psVar81[-3]" (assignment_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2] = (size_t)&status" (subscript_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4) {\nLAB_00089b0f:\n          psVar81[-2]" (call_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0;\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) != 4)" (assignment_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined **)0x0" (call_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);\n              }\n            }\n            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0)" (parenthesized_expression "(Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2])" ( (ERROR "Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));\n          bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_];\n          psVar81[-4] = (size_t)&status;\n          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);\n          psVar81[-5] = 0x8a6cf;\n          gold::" (comma_expression "Symbol_value<64> *)psVar81[-4],\n                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2))" (binary_expression "Symbol_value<64> *)psVar81[-4]" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)psVar81[-4]" * (ERROR ")" )) (subscript_expression "psVar81[-4]" identifier [ number_literal ]))) , (parenthesized_expression "(Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2))" ( (comma_expression "Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2)" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false> *)psVar81[-3],*(Value *)(psVar81 + -2)" (binary_expression "_false> *)psVar81[-3]" identifier > (pointer_expression "*)psVar81[-3]" * (ERROR ")" )) (subscript_expression "psVar81[-3]" identifier [ number_literal ]))) , (pointer_expression "*(Value *)(psVar81 + -2)" * (cast_expression "(Value *)(psVar81 + -2)" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar81 + -2)" ( (binary_expression "psVar81 + -2" identifier + number_literal) )))))) ))) ; (comma_expression "bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char,_std" (assignment_expression "bVar70 = (local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char" identifier = (binary_expression "(local_a8->object_->st_other_).\n                   super__Vector_base<unsigned_char" (field_expression "(local_a8->object_->st_other_).\n                   super__Vector_base" (parenthesized_expression "(local_a8->object_->st_other_)" ( (field_expression "local_a8->object_->st_other_" (field_expression "local_a8->object_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) < identifier)) , identifier) : : (subscript_expression "allocator<unsigned_char>_>._M_impl.\n                   _M_start[local_a8->r_sym_]" (field_expression "allocator<unsigned_char>_>._M_impl.\n                   _M_start" (field_expression "allocator<unsigned_char>_>._M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (field_expression "local_a8->r_sym_" identifier -> field_identifier) ]) ; (assignment_expression "psVar81[-4] = (size_t)&status" (subscript_expression "psVar81[-4]" identifier [ number_literal ]) = (cast_expression "(size_t)&status" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&status" & identifier))) ; (assignment_expression "os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc)" (field_expression "os_need_update._M_h._0_8_" (field_expression "os_need_update._M_h" identifier . field_identifier) . field_identifier) = (binary_expression "VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc)" identifier + (parenthesized_expression "(1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc)" ( (binary_expression "1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc" (binary_expression "1 << (sbyte)((int)(uint)bVar70 >> 5)" number_literal << (call_expression "(sbyte)((int)(uint)bVar70 >> 5)" (parenthesized_expression "(sbyte)" ( identifier )) (argument_list "((int)(uint)bVar70 >> 5)" ( (binary_expression "(int)(uint)bVar70 >> 5" (cast_expression "(int)(uint)bVar70" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bVar70" ( (type_descriptor "uint" type_identifier) ) identifier)) >> number_literal) )))) & number_literal) )))) ; (assignment_expression "psVar81[-5] = 0x8a6cf" (subscript_expression "psVar81[-5]" identifier [ number_literal ]) = number_literal) ; identifier : :) (comma_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]" (binary_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35;\n                gold::do_gold_unreachable((char *)psVar81[-4]" (assignment_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5] = (size_t)&UNK_0008bd35" (subscript_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h";\n                    /* WARNING: Subroutine does not return */\n                psVar81[-5]" (assignment_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4] = (size_t)"../../gold/symtab.h"" (subscript_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa;\n                psVar81[-4]" (assignment_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3] = 0xaa" (subscript_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\n                      (__bucket_type *)\n                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                       local_got_offsets_._M_h._M_bucket_count) {\n                    psVar81[-5] = (size_t)pp_Var69;\n                    psVar81[-6] = 0x8bccf;\n                    operator_delete((void *)psVar81[-5]);\n                  }\n                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                  super_Relobj.reloc_counts_ = puVar35;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;\n                  puVar18 = puVar35;\n                }\n                uVar37 = (uint)p_Var68 % (uint)puVar18;\n                unaff_EBX = (undefined **)(uVar37 * 4);\n                p_Var52[6]._M_nxt = p_Var68;\n                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {\n                  p_Var52->_M_nxt =\n                       ((__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;\n                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  }\n                  else {\n                    pp_Var69 = (((Branch_stub_entries *)\n                                &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %\n                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =\n                         p_Var52;\n                  }\n                  *(__node_base **)\n                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->\n                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =\n                       (__node_base *)\n                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_bases_;\n                }\n                else {\n                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;\n                  (((Branch_stub_entries *)\n                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;\n                }\n                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).\n                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                *psVar7 = *psVar7 + 1;\n                if (local_121 == false) {\n                  psVar81[-2] = 0x8be14;\n                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])\n                  ;\n                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).\n                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.\n                           _M_max_load_factor;\n                  uVar37 = 0x2000000 - (int)fVar14;\n                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);\n                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;\n                  unaff_EBX = (undefined **)\n                              ((int)p_Var52[2]._M_nxt +\n                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -\n                                 (uint)(0x2000000 < (uint)fVar14)) -\n                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -\n                              (uint)(uVar75 < (uint)AVar94)));\n                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&\n                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);\n                  }\n                  else {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);\n                    pTVar43 = (Target_powerpc<64,_false> *)\n                              (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.\n                              compressed_sections_;\n                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;\n                    psVar81[-2] = (size_t)local_bc;\n                    psVar81[-3] = 0;\n                    local_38 = sVar73 * 8;\n                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;\n                    psVar81[-5] = (size_t)local_9c;\n                    status = (Compute_final_value_status)local_10c;\n                    local_3c = local_108;\n                    psVar81[-6] = 0x8beab;\n                    std::\n                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();\n                    psVar82 = psVar81 + -2;\n                  }\n                }\n                else {\n                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).\n                            super_Sized_relobj<64,_false>.section_offsets_.\n                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                            ._M_impl._M_end_of_storage = true;\n                  psVar82 = psVar81 + -1;\n                }\n              }\n              else {\n                psVar81[-4] = (size_t)p_Var52;\n                psVar81[-5] = 0x89d13;\n                operator_delete((void *)psVar81[-4]);\n                unaff_EBX = local_ac;\n              }\n              if (uVar60 - 0xb < 3) {\n                uVar60 = 0x8000;\n              }\n              else {\n                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))\n                goto LAB_00089370;\n                uVar60 = 0x2000000;\n              }\n              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {\nLAB_0008c2e9:\n                *(char **)((int)psVar82 + -8) = "can_reach_stub";\n                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;\n                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;\n                gold::do_gold_unreachable\n                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),\n                           *(char **)((int)psVar82 + -8));\n              }\n              psVar82[-1] = 0x89d6b;\n              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);\n              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +\n                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),\n                                         ((int)p_Var86 - (int)p_Var89) + uVar60);\n              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);\n              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {\n                psVar81 = psVar82;\n                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((pSVar54->field_0x2a & 7) == 0) {\n          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;\n          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {\n            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.\n                      _vptr_Struct_var[5];\n            if (p_Var25 != gold::Object::do_pluginobj) {\n              psVar81[-4] = (size_t)pGVar23;\n              psVar81[-5] = 0x8bd01;\n              iVar47 = (*p_Var25)();\n              if (iVar47 != 0) goto LAB_00089370;\n              if ((pSVar54->field_0x2a & 7) != 0) {\n                psVar81[-1] = (size_t)pSVar54;\n                psVar81[-2] = (size_t)"shndx";\n                psVar81[-3]" (assignment_expression "Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);\nLAB_00089b5e:\n          local_bc = &status;\n          unaff_EBX = (undefined **)0x0;\n          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);\n          local_108 = (Powerpc_relobj<64,_false> *)\n                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +\n                       *(int *)((int)&local_a8->addend_ + 4) +\n                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));\n          os_need_update._M_h._M_bucket_count = (size_type)local_108;\n          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;\n          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {\n            puVar22 = (local_a8->object_->stub_table_index_).\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start;\n            if (local_a8->shndx_ <\n                (uint)((int)(local_a8->object_->stub_table_index_).\n                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                            _M_finish - (int)puVar22 >> 2)) {\n              pTVar29 = gold::parameters->target_;\n              if (pTVar29 == (Target *)0x0) {\nLAB_0008c3f9:\n                    /* WARNING: Subroutine does not return */\n                psVar81[-1] = (size_t)&LAB_0008c3fe;\n                Powerpc_relobj<64,_false>::set_abiversion\n                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);\n              }\n              uVar75 = puVar22[local_a8->shndx_];\n              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {\n                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);\n              }\n            }\n          }\n          if ((pTVar88->processor_specific_flags_ & 2) == 0) {\n            psVar81[-2] = (size_t)local_bc;\n            psVar81[-3] = (size_t)&os_need_update;\n            psVar81[-4] = (size_t)local_a8->object_;\n            psVar81[-5] = 0x8b155;\n            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],\n                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],\n                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,\n                                       (uint *)psVar81[1]);\n            if (!bVar92) goto LAB_00089370;\n            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;\n            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;\n          }\n          uVar75 = uVar84 + uVar37;\n          p_Var89 = (_Hash_node_base *)\n                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);\n          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.\n                         _vptr_Struct_var +\n                   (uint)CARRY4(uVar75,(uint)pTVar17) +\n                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);\n          unaff_EBX = (undefined **)0x0;\n          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <\n                    (uint)((int)local_f4 * 2)) <=\n              (int)local_108 +\n              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +\n              (-(uint)(local_f4 < p_Var89) - uVar84)) {\n            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {\n              pPVar64 = local_a8->object_;\n              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                        super_Relobj.super_Object._vptr_Object[0x10];\n              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bd71;\n                elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);\n              }\n              else {\n                psVar81[-2] = local_a8->shndx_;\n                psVar81[-3] = (size_t)pPVar64;\n                psVar81[-4] = (size_t)local_bc;\n                psVar81[-5] = 0x8bf53;\n                (*p_Var25)();\n              }\n              CVar16 = status;\n              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).\n                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.\n                        _M_p;\n              psVar81[-5] = (size_t)\n                            "%s:%s: branch in non-executable section, no long branch stub for you";\n              psVar81[-6] = 0x8bd99;\n              uVar53 = gettext();\n              psVar81[-3] = CVar16;\n              psVar81[-4] = (size_t)pcVar63;\n              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;\n              psVar81[-5] = uVar53;\n                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */\n              psVar81[-6] = 0x8bdac;\n              gold::gold_warning((char *)psVar81[-5]);\n              psVar82 = psVar81 + -1;\n              if ((int *)status != &local_38) {\n                psVar81[-5] = status;\n                psVar81[-6] = 0x8bdc6;\n                operator_delete((void *)psVar81[-5]);\n                psVar82 = psVar81 + -1;\n              }\n            }\n            else {\n              if (pSVar54 == (Symbol *)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((pSVar54->field_0x2a & 7) == 1) {\n                  local_121 = (General_options *)(pSVar54->u1_).object ==\n                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;\n                }\n              }\n              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;\n              p_Var86 = (_Hash_node_base *)\n                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;\n              psVar81[-4] = 0x1c;\n              psVar81[-5] = 0x89c71;\n              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);\n              local_38 = 0x8000;\n              p_Var52->_M_nxt = (_Hash_node_base *)0x0;\n              local_3c = local_108;\n              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);\n              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;\n              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;\n              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;\n              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;\n              p_Var52[5]._M_nxt = p_Var86;\n              status = (Compute_final_value_status)local_10c;\n              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>\n                        .super_Relobj.reloc_counts_;\n              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);\n              psVar81[-4] = (size_t)p_Var68;\n              psVar81[-5] = 0x89cef;\n              p_Var41 = std::\n                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);\n              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {\n                psVar81[-4] = 1;\n                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;\n                psVar81[-6] = (size_t)puVar18;\n                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).\n                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;\n                psVar81[-8] = (size_t)local_94;\n                psVar81[-9] = 0x89ddd;\n                std::__detail::_Prime_rehash_policy::_M_need_rehash\n                          (psVar81[-8],psVar81[-7],psVar81[-6]);\n                puVar35 = local_90;\n                psVar82 = psVar81 + -1;\n                if (local_94[0] == '\0') {\n                  local_12c = (size_type *)\n                              (((Branch_stub_entries *)\n                               &(local_b4->super_Sized_relobj_file<64,_false>).\n                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                }\n                else {\n                  if (local_90 == (uint *)0x1) {\n                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                    local_got_offsets_._M_h._M_bucket_count = 0;\n                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).\n                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.\n                                 _M_bucket_count;\n                  }\n                  else {\n                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */\n                    psVar81[-2] = 0x89e0d;\n                    local_12c = (size_type *)\n                                std::__detail::\n                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                ::_M_allocate_buckets\n                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>\n                                            *)psVar81[-1],*psVar81);\n                  }\n                  p_Var62 = ((__node_base *)\n                            &(local_b4->super_Sized_relobj_file<64,_false>).\n                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                  ((__node_base *)\n                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.\n                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var62 != (_Hash_node_base *)0x0) {\n                    local_130 = 0;\n                    do {\n                      p_Var26 = p_Var62->_M_nxt;\n                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;\n                      psVar7 = local_12c + uVar37;\n                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {\n                        p_Var62->_M_nxt =\n                             ((__node_base *)\n                             &(local_b4->super_Sized_relobj_file<64,_false>).\n                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;\n                        ((__node_base *)\n                        &(local_b4->super_Sized_relobj_file<64,_false>).\n                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;\n                        *psVar7 = (size_type)\n                                  &(local_b4->super_Sized_relobj_file<64,_false>).\n                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;\n                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {\n                          local_12c[local_130] = (size_type)p_Var62;\n                        }\n                      }\n                      else {\n                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;\n                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;\n                        uVar37 = local_130;\n                      }\n                      local_130 = uVar37;\n                      p_Var62 = p_Var26;\n                    } while (p_Var26 != (_Hash_node_base *)0x0);\n                  }\n                  pp_Var69 = (((Branch_stub_entries *)\n                              &(local_b4->super_Sized_relobj_file<64,_false>).\n                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;\n                  if (pp_Var69 !=\
[cell cut: 4,733,782 characters, first 1,048,576 kept]
(translation_unit "uint FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}\n\n" (function_definition "uint FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}" type_identifier (function_declarator "FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)" identifier (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}" { (declaration "undefined4 *****pppppuVar1;" type_identifier (pointer_declarator "*****pppppuVar1" * (pointer_declarator "****pppppuVar1" * (pointer_declarator "***pppppuVar1" * (pointer_declarator "**pppppuVar1" * (pointer_declarator "*pppppuVar1" * identifier))))) ;) (declaration "undefined4 *****pppppuVar2;" type_identifier (pointer_declarator "*****pppppuVar2" * (pointer_declarator "****pppppuVar2" * (pointer_declarator "***pppppuVar2" * (pointer_declarator "**pppppuVar2" * (pointer_declarator "*pppppuVar2" * identifier))))) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 ******ppppppuVar4;" type_identifier (pointer_declarator "******ppppppuVar4" * (pointer_declarator "*****ppppppuVar4" * (pointer_declarator "****ppppppuVar4" * (pointer_declarator "***ppppppuVar4" * (pointer_declarator "**ppppppuVar4" * (pointer_declarator "*ppppppuVar4" * identifier)))))) ;) (declaration "undefined4 ****ppppuVar5;" type_identifier (pointer_declarator "****ppppuVar5" * (pointer_declarator "***ppppuVar5" * (pointer_declarator "**ppppuVar5" * (pointer_declarator "*ppppuVar5" * identifier)))) ;) (declaration "undefined4 ***pppuVar6;" type_identifier (pointer_declarator "***pppuVar6" * (pointer_declarator "**pppuVar6" * (pointer_declarator "*pppuVar6" * identifier))) ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined4 ******ppppppuVar8;" type_identifier (pointer_declarator "******ppppppuVar8" * (pointer_declarator "*****ppppppuVar8" * (pointer_declarator "****ppppppuVar8" * (pointer_declarator "***ppppppuVar8" * (pointer_declarator "**ppppppuVar8" * (pointer_declarator "*ppppppuVar8" * identifier)))))) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 *******pppppppuVar10;" type_identifier (pointer_declarator "*******pppppppuVar10" * (pointer_declarator "******pppppppuVar10" * (pointer_declarator "*****pppppppuVar10" * (pointer_declarator "****pppppppuVar10" * (pointer_declarator "***pppppppuVar10" * (pointer_declarator "**pppppppuVar10" * (pointer_declarator "*pppppppuVar10" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar11;" type_identifier (pointer_declarator "******ppppppuVar11" * (pointer_declarator "*****ppppppuVar11" * (pointer_declarator "****ppppppuVar11" * (pointer_declarator "***ppppppuVar11" * (pointer_declarator "**ppppppuVar11" * (pointer_declarator "*ppppppuVar11" * identifier)))))) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 *****pppppuVar14;" type_identifier (pointer_declarator "*****pppppuVar14" * (pointer_declarator "****pppppuVar14" * (pointer_declarator "***pppppuVar14" * (pointer_declarator "**pppppuVar14" * (pointer_declarator "*pppppuVar14" * identifier))))) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar16;" type_identifier (pointer_declarator "*******pppppppuVar16" * (pointer_declarator "******pppppppuVar16" * (pointer_declarator "*****pppppppuVar16" * (pointer_declarator "****pppppppuVar16" * (pointer_declarator "***pppppppuVar16" * (pointer_declarator "**pppppppuVar16" * (pointer_declarator "*pppppppuVar16" * identifier))))))) ;) (declaration "undefined4 ****ppppuVar17;" type_identifier (pointer_declarator "****ppppuVar17" * (pointer_declarator "***ppppuVar17" * (pointer_declarator "**ppppuVar17" * (pointer_declarator "*ppppuVar17" * identifier)))) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined2 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined8 **ppuVar24;" type_identifier (pointer_declarator "**ppuVar24" * (pointer_declarator "*ppuVar24" * identifier)) ;) (declaration "undefined8 **ppuVar25;" type_identifier (pointer_declarator "**ppuVar25" * (pointer_declarator "*ppuVar25" * identifier)) ;) (declaration "undefined4 *****pppppuVar26;" type_identifier (pointer_declarator "*****pppppuVar26" * (pointer_declarator "****pppppuVar26" * (pointer_declarator "***pppppuVar26" * (pointer_declarator "**pppppuVar26" * (pointer_declarator "*pppppuVar26" * identifier))))) ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "undefined4 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined4 ******ppppppuVar29;" type_identifier (pointer_declarator "******ppppppuVar29" * (pointer_declarator "*****ppppppuVar29" * (pointer_declarator "****ppppppuVar29" * (pointer_declarator "***ppppppuVar29" * (pointer_declarator "**ppppppuVar29" * (pointer_declarator "*ppppppuVar29" * identifier)))))) ;) (declaration "undefined4 *******pppppppuVar30;" type_identifier (pointer_declarator "*******pppppppuVar30" * (pointer_declarator "******pppppppuVar30" * (pointer_declarator "*****pppppppuVar30" * (pointer_declarator "****pppppppuVar30" * (pointer_declarator "***pppppppuVar30" * (pointer_declarator "**pppppppuVar30" * (pointer_declarator "*pppppppuVar30" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar31;" type_identifier (pointer_declarator "******ppppppuVar31" * (pointer_declarator "*****ppppppuVar31" * (pointer_declarator "****ppppppuVar31" * (pointer_declarator "***ppppppuVar31" * (pointer_declarator "**ppppppuVar31" * (pointer_declarator "*ppppppuVar31" * identifier)))))) ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "undefined4 *******unaff_EBX;" type_identifier (pointer_declarator "*******unaff_EBX" * (pointer_declarator "******unaff_EBX" * (pointer_declarator "*****unaff_EBX" * (pointer_declarator "****unaff_EBX" * (pointer_declarator "***unaff_EBX" * (pointer_declarator "**unaff_EBX" * (pointer_declarator "*unaff_EBX" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar33;" type_identifier (pointer_declarator "******ppppppuVar33" * (pointer_declarator "*****ppppppuVar33" * (pointer_declarator "****ppppppuVar33" * (pointer_declarator "***ppppppuVar33" * (pointer_declarator "**ppppppuVar33" * (pointer_declarator "*ppppppuVar33" * identifier)))))) ;) (declaration "undefined4 *****pppppuVar34;" type_identifier (pointer_declarator "*****pppppuVar34" * (pointer_declarator "****pppppuVar34" * (pointer_declarator "***pppppuVar34" * (pointer_declarator "**pppppuVar34" * (pointer_declarator "*pppppuVar34" * identifier))))) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "undefined1 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "undefined1 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "undefined1 *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "byte bVar42;" type_identifier identifier ;) (declaration "undefined8 uVar43;" type_identifier identifier ;) (declaration "longlong lVar44;" type_identifier identifier ;) (declaration "longlong lVar45;" type_identifier identifier ;) (declaration "undefined1 auStack_14c [12];" type_identifier (array_declarator "auStack_14c [12]" identifier [ number_literal ]) ;) (declaration "undefined4 *****local_140;" type_identifier (pointer_declarator "*****local_140" * (pointer_declarator "****local_140" * (pointer_declarator "***local_140" * (pointer_declarator "**local_140" * (pointer_declarator "*local_140" * identifier))))) ;) (declaration "undefined4 ******local_13c;" type_identifier (pointer_declarator "******local_13c" * (pointer_declarator "*****local_13c" * (pointer_declarator "****local_13c" * (pointer_declarator "***local_13c" * (pointer_declarator "**local_13c" * (pointer_declarator "*local_13c" * identifier)))))) ;) (declaration "undefined4 ******local_138;" type_identifier (pointer_declarator "******local_138" * (pointer_declarator "*****local_138" * (pointer_declarator "****local_138" * (pointer_declarator "***local_138" * (pointer_declarator "**local_138" * (pointer_declarator "*local_138" * identifier)))))) ;) (declaration "undefined4 ******local_134;" type_identifier (pointer_declarator "******local_134" * (pointer_declarator "*****local_134" * (pointer_declarator "****local_134" * (pointer_declarator "***local_134" * (pointer_declarator "**local_134" * (pointer_declarator "*local_134" * identifier)))))) ;) (declaration "uint local_130;" type_identifier identifier ;) (declaration "undefined4 ******local_12c;" type_identifier (pointer_declarator "******local_12c" * (pointer_declarator "*****local_12c" * (pointer_declarator "****local_12c" * (pointer_declarator "***local_12c" * (pointer_declarator "**local_12c" * (pointer_declarator "*local_12c" * identifier)))))) ;) (declaration "uint local_128;" type_identifier identifier ;) (declaration "bool local_121;" primitive_type identifier ;) (declaration "undefined4 ******local_120;" type_identifier (pointer_declarator "******local_120" * (pointer_declarator "*****local_120" * (pointer_declarator "****local_120" * (pointer_declarator "***local_120" * (pointer_declarator "**local_120" * (pointer_declarator "*local_120" * identifier)))))) ;) (declaration "undefined4 ******local_11c;" type_identifier (pointer_declarator "******local_11c" * (pointer_declarator "*****local_11c" * (pointer_declarator "****local_11c" * (pointer_declarator "***local_11c" * (pointer_declarator "**local_11c" * (pointer_declarator "*local_11c" * identifier)))))) ;) (declaration "uint local_118;" type_identifier identifier ;) (declaration "undefined4 ******local_114;" type_identifier (pointer_declarator "******local_114" * (pointer_declarator "*****local_114" * (pointer_declarator "****local_114" * (pointer_declarator "***local_114" * (pointer_declarator "**local_114" * (pointer_declarator "*local_114" * identifier)))))) ;) (declaration "undefined4 ******local_110;" type_identifier (pointer_declarator "******local_110" * (pointer_declarator "*****local_110" * (pointer_declarator "****local_110" * (pointer_declarator "***local_110" * (pointer_declarator "**local_110" * (pointer_declarator "*local_110" * identifier)))))) ;) (declaration "undefined4 ******local_10c;" type_identifier (pointer_declarator "******local_10c" * (pointer_declarator "*****local_10c" * (pointer_declarator "****local_10c" * (pointer_declarator "***local_10c" * (pointer_declarator "**local_10c" * (pointer_declarator "*local_10c" * identifier)))))) ;) (declaration "undefined4 ******local_108;" type_identifier (pointer_declarator "******local_108" * (pointer_declarator "*****local_108" * (pointer_declarator "****local_108" * (pointer_declarator "***local_108" * (pointer_declarator "**local_108" * (pointer_declarator "*local_108" * identifier)))))) ;) (declaration "undefined4 *local_104;" type_identifier (pointer_declarator "*local_104" * identifier) ;) (declaration "uint local_100;" type_identifier identifier ;) (declaration "undefined4 ******local_fc;" type_identifier (pointer_declarator "******local_fc" * (pointer_declarator "*****local_fc" * (pointer_declarator "****local_fc" * (pointer_declarator "***local_fc" * (pointer_declarator "**local_fc" * (pointer_declarator "*local_fc" * identifier)))))) ;) (declaration "undefined4 ******local_f8;" type_identifier (pointer_declarator "******local_f8" * (pointer_declarator "*****local_f8" * (pointer_declarator "****local_f8" * (pointer_declarator "***local_f8" * (pointer_declarator "**local_f8" * (pointer_declarator "*local_f8" * identifier)))))) ;) (declaration "undefined4 ******local_f4;" type_identifier (pointer_declarator "******local_f4" * (pointer_declarator "*****local_f4" * (pointer_declarator "****local_f4" * (pointer_declarator "***local_f4" * (pointer_declarator "**local_f4" * (pointer_declarator "*local_f4" * identifier)))))) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "undefined4 *****local_ec;" type_identifier (pointer_declarator "*****local_ec" * (pointer_declarator "****local_ec" * (pointer_declarator "***local_ec" * (pointer_declarator "**local_ec" * (pointer_declarator "*local_ec" * identifier))))) ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "undefined4 ******local_e4;" type_identifier (pointer_declarator "******local_e4" * (pointer_declarator "*****local_e4" * (pointer_declarator "****local_e4" * (pointer_declarator "***local_e4" * (pointer_declarator "**local_e4" * (pointer_declarator "*local_e4" * identifier)))))) ;) (declaration "undefined4 ****local_e0;" type_identifier (pointer_declarator "****local_e0" * (pointer_declarator "***local_e0" * (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier)))) ;) (declaration "undefined8 local_dc;" type_identifier identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "undefined8 local_cc;" type_identifier identifier ;) (declaration "undefined4 ******local_c4;" type_identifier (pointer_declarator "******local_c4" * (pointer_declarator "*****local_c4" * (pointer_declarator "****local_c4" * (pointer_declarator "***local_c4" * (pointer_declarator "**local_c4" * (pointer_declarator "*local_c4" * identifier)))))) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "undefined4 ******local_bc;" type_identifier (pointer_declarator "******local_bc" * (pointer_declarator "*****local_bc" * (pointer_declarator "****local_bc" * (pointer_declarator "***local_bc" * (pointer_declarator "**local_bc" * (pointer_declarator "*local_bc" * identifier)))))) ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined8 local_b4;" type_identifier identifier ;) (declaration "undefined4 ******local_ac;" type_identifier (pointer_declarator "******local_ac" * (pointer_declarator "*****local_ac" * (pointer_declarator "****local_ac" * (pointer_declarator "***local_ac" * (pointer_declarator "**local_ac" * (pointer_declarator "*local_ac" * identifier)))))) ;) (declaration "undefined4 ******local_a8;" type_identifier (pointer_declarator "******local_a8" * (pointer_declarator "*****local_a8" * (pointer_declarator "****local_a8" * (pointer_declarator "***local_a8" * (pointer_declarator "**local_a8" * (pointer_declarator "*local_a8" * identifier)))))) ;) (declaration "undefined1 local_a4 [8];" type_identifier (array_declarator "local_a4 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_9c [8];" type_identifier (array_declarator "local_9c [8]" identifier [ number_literal ]) ;) (declaration "char local_94 [4];" primitive_type (array_declarator "local_94 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 ******local_90;" type_identifier (pointer_declarator "******local_90" * (pointer_declarator "*****local_90" * (pointer_declarator "****local_90" * (pointer_declarator "***local_90" * (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier)))))) ;) (declaration "undefined4 ******local_8c;" type_identifier (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier)))))) ;) (declaration "char local_88;" primitive_type identifier ;) (declaration "undefined1 local_84 [4];" type_identifier (array_declarator "local_84 [4]" identifier [ number_literal ]) ;) (declaration "char local_80;" primitive_type identifier ;) (declaration "undefined4 *****local_71 [2];" type_identifier (pointer_declarator "*****local_71 [2]" * (pointer_declarator "****local_71 [2]" * (pointer_declarator "***local_71 [2]" * (pointer_declarator "**local_71 [2]" * (pointer_declarator "*local_71 [2]" * (array_declarator "local_71 [2]" identifier [ number_literal ])))))) ;) (declaration "undefined8 *local_68 [3];" type_identifier (pointer_declarator "*local_68 [3]" * (array_declarator "local_68 [3]" identifier [ number_literal ])) ;) (declaration "undefined8 local_5c;" type_identifier identifier ;) (declaration "undefined4 ******local_54;" type_identifier (pointer_declarator "******local_54" * (pointer_declarator "*****local_54" * (pointer_declarator "****local_54" * (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier)))))) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "undefined4 ******local_40;" type_identifier (pointer_declarator "******local_40" * (pointer_declarator "*****local_40" * (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier)))))) ;) (declaration "undefined4 ******local_3c;" type_identifier (pointer_declarator "******local_3c" * (pointer_declarator "*****local_3c" * (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))))) ;) (declaration "undefined4 ******local_38;" type_identifier (pointer_declarator "******local_38" * (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)))))) ;) (declaration "undefined4 ******local_34;" type_identifier (pointer_declarator "******local_34" * (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))))) ;) (declaration "undefined4 ******local_30;" type_identifier (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)))))) ;) (declaration "undefined4 ******local_2c;" type_identifier (pointer_declarator "******local_2c" * (pointer_declarator "*****local_2c" * (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)))))) ;) (declaration "undefined4 ****local_28;" type_identifier (pointer_declarator "****local_28" * (pointer_declarator "***local_28" * (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)))) ;) (declaration "undefined4 ****local_24;" type_identifier (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))) ;) (declaration "undefined4 ****local_20;" type_identifier (pointer_declarator "****local_20" * (pointer_declarator "***local_20" * (pointer_declarator "**local_20" * (pointer_declarator "*local_20" * identifier)))) ;) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (if_statement "if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }" { (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (expression_statement "pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);" (assignment_expression "pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8)" identifier = (pointer_expression "*(undefined4 ******)(DAT_004144e8 + 8)" * (cast_expression "(undefined4 ******)(DAT_004144e8 + 8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(DAT_004144e8 + 8)" ( (binary_expression "DAT_004144e8 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" if (parenthesized_expression "((*(byte *)(param_1 + 8) & 2) == 0)" ( (binary_expression "(*(byte *)(param_1 + 8) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 8) & 2)" ( (binary_expression "*(byte *)(param_1 + 8) & 2" (pointer_expression "*(byte *)(param_1 + 8)" * (cast_expression "(byte *)(param_1 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }" { (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c0b4;" goto statement_identifier ;)) (expression_statement "cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);" (assignment_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x2c59)" identifier = (pointer_expression "*(char *)((int)pppppuVar26 + 0x2c59)" * (cast_expression "(char *)((int)pppppuVar26 + 0x2c59)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2c59)" ( (binary_expression "(int)pppppuVar26 + 0x2c59" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }" if (parenthesized_expression "(((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0'))" ( (binary_expression "((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')" (parenthesized_expression "((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0'))" ( (binary_expression "(cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')" (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(pppppuVar26 + 0xb16) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0xb16) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xb16)" * (cast_expression "(char *)(pppppuVar26 + 0xb16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0xb16)" ( (binary_expression "pppppuVar26 + 0xb16" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')" ( (comma_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0'" (assignment_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x1a25)" identifier = (pointer_expression "*(char *)((int)pppppuVar26 + 0x1a25)" * (cast_expression "(char *)((int)pppppuVar26 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x1a25)" ( (binary_expression "(int)pppppuVar26 + 0x1a25" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0xffffff00)" ( (binary_expression "(uint)(undefined4 *******)local_b4 & 0xffffff00" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal) )))) ;) (expression_statement "local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;" (assignment_expression "local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" identifier = (cast_expression "(undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" & identifier))) ;) (expression_statement "pcVar18 = "pthread_create";" (assignment_expression "pcVar18 = "pthread_create"" identifier = (string_literal ""pthread_create"" " string_content ")) ;) (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (while_statement "while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }" { (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "iVar19 = FUN_001e9100(param_4,pcVar18,0);" (assignment_expression "iVar19 = FUN_001e9100(param_4,pcVar18,0)" identifier = (call_expression "FUN_001e9100(param_4,pcVar18,0)" identifier (argument_list "(param_4,pcVar18,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }" if (parenthesized_expression "(((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0))" ( (binary_expression "((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)" (parenthesized_expression "((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0'))" ( (binary_expression "(iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')" (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)(iVar19 + 0x2a) < '\0')" ( (binary_expression "*(char *)(iVar19 + 0x2a) < '\0'" (pointer_expression "*(char *)(iVar19 + 0x2a)" * (cast_expression "(char *)(iVar19 + 0x2a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2a)" ( (binary_expression "iVar19 + 0x2a" identifier + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)" ( (comma_expression "bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0" (assignment_expression "bVar27 = *(byte *)(iVar19 + 0x2b) >> 6" identifier = (binary_expression "*(byte *)(iVar19 + 0x2b) >> 6" (pointer_expression "*(byte *)(iVar19 + 0x2b)" * (cast_expression "(byte *)(iVar19 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2b)" ( (binary_expression "iVar19 + 0x2b" identifier + number_literal) )))) >> number_literal)) , (comma_expression "bVar42 = bVar27 & 1, (bVar27 & 1) != 0" (assignment_expression "bVar42 = bVar27 & 1" identifier = (binary_expression "bVar27 & 1" identifier & number_literal)) , (binary_expression "(bVar27 & 1) != 0" (parenthesized_expression "(bVar27 & 1)" ( (binary_expression "bVar27 & 1" identifier & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }" { (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (goto_statement "goto LAB_0008b0b0;" goto statement_identifier ;) })) (if_statement "if (local_a8 == (undefined4 ******)&DAT_0040661c) break;" if (parenthesized_expression "(local_a8 == (undefined4 ******)&DAT_0040661c)" ( (binary_expression "local_a8 == (undefined4 ******)&DAT_0040661c" identifier == (cast_expression "(undefined4 ******)&DAT_0040661c" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0040661c" & identifier))) )) (break_statement "break;" break ;)) (expression_statement "pcVar18 = (char *)*local_a8;" (assignment_expression "pcVar18 = (char *)*local_a8" identifier = (cast_expression "(char *)*local_a8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_a8 = local_a8 + 1;" (assignment_expression "local_a8 = local_a8 + 1" identifier = (binary_expression "local_a8 + 1" identifier + number_literal)) ;) })) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (expression_statement "bVar42 = (byte)local_b4;" (assignment_expression "bVar42 = (byte)local_b4" identifier = (cast_expression "(byte)local_b4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0008b0b0;" goto statement_identifier ;) })) (expression_statement "ppppuVar17 = pppppuVar26[0xe2a];" (assignment_expression "ppppuVar17 = pppppuVar26[0xe2a]" identifier = (subscript_expression "pppppuVar26[0xe2a]" identifier [ number_literal ])) ;) (expression_statement "*(char *)(param_1 + 0x9c) = cVar7;" (assignment_expression "*(char *)(param_1 + 0x9c) = cVar7" (pointer_expression "*(char *)(param_1 + 0x9c)" * (cast_expression "(char *)(param_1 + 0x9c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9c)" ( (binary_expression "param_1 + 0x9c" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (if_statement "if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0x1)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0x1" identifier == (cast_expression "(undefined4 ****)0x1" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_0008bbcb;" goto statement_identifier ;)) (labeled_statement "LAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" statement_identifier : (if_statement "if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0xffffffff)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0xffffffff" identifier == (cast_expression "(undefined4 ****)0xffffffff" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0xa8) = 0xfe200000;" (assignment_expression "*(undefined4 *)(param_1 + 0xa8) = 0xfe200000" (pointer_expression "*(undefined4 *)(param_1 + 0xa8)" * (cast_expression "(undefined4 *)(param_1 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" else (compound_statement "{\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" { (expression_statement "*(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;" (assignment_expression "*(undefined4 *****)(param_1 + 0xa8) = ppppuVar17" (pointer_expression "*(undefined4 *****)(param_1 + 0xa8)" * (cast_expression "(undefined4 *****)(param_1 + 0xa8)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = identifier) ;) })))) }) (else_clause "else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" else (compound_statement "{\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" { (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" identifier = (cast_expression "(undefined4 ******)&DAT_004144e8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_004144e8" & identifier))) ;) (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;" statement_identifier : (expression_statement "*(byte *)(param_1 + 0x9c) = bVar42;" (assignment_expression "*(byte *)(param_1 + 0x9c) = bVar42" (pointer_expression "*(byte *)(param_1 + 0x9c)" * (cast_expression "(byte *)(param_1 + 0x9c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9c)" ( (binary_expression "param_1 + 0x9c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }" { (labeled_statement "LAB_0008c0b4:\n        ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c0d2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppuVar17 = pppppuVar26[0xe2a];" (assignment_expression "ppppuVar17 = pppppuVar26[0xe2a]" identifier = (subscript_expression "pppppuVar26[0xe2a]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;" if (parenthesized_expression "(ppppuVar17 != (undefined4 ****)0x1)" ( (binary_expression "ppppuVar17 != (undefined4 ****)0x1" identifier != (cast_expression "(undefined4 ****)0x1" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_0008b0d5;" goto statement_identifier ;)) (labeled_statement "LAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0xa8) = 0x1c00000;" (assignment_expression "*(undefined4 *)(param_1 + 0xa8) = 0x1c00000" (pointer_expression "*(undefined4 *)(param_1 + 0xa8)" * (cast_expression "(undefined4 *)(param_1 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "FUN_0006f600();" (call_expression "FUN_0006f600()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar28 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "puVar28 = *(undefined4 **)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" * (cast_expression "(undefined4 **)(param_1 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != puVar28)" ( (binary_expression "*(undefined4 **)(param_1 + 0x50) != puVar28" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) (compound_statement "{\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }" { (labeled_statement "LAB_00088eb5:\n      puVar38 = auStack_14c;" statement_identifier : (expression_statement "puVar38 = auStack_14c;" (assignment_expression "puVar38 = auStack_14c" identifier = identifier) ;)) (expression_statement "puVar37 = auStack_14c;" (assignment_expression "puVar37 = auStack_14c" identifier = identifier) ;) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (expression_statement "local_a8 = (undefined4 ******)*puVar28;" (assignment_expression "local_a8 = (undefined4 ******)*puVar28" identifier = (cast_expression "(undefined4 ******)*puVar28" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*puVar28" * identifier))) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xc]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xb][0x21]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (if_statement "if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }" if (parenthesized_expression "(ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3))" ( (binary_expression "ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" identifier < (cast_expression "(undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26" (cast_expression "(int)((undefined4 *******)local_a8)[0xb][0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_a8)[0xb][0x22]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }" { (if_statement "if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }" if (parenthesized_expression "(((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff)" ( (binary_expression "((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff" (parenthesized_expression "((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            )" ( (binary_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]" (cast_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ])) & (cast_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) )) != number_literal) )) (compound_statement "{\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }" { (expression_statement "local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)(puVar28 + 1)" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(puVar28 + 1)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar28 + 1)" ( (binary_expression "puVar28 + 1" identifier + number_literal) )))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a)" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(local_ac + 0x13a)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + 0x13a)" ( (binary_expression "local_ac + 0x13a" identifier + number_literal) )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (expression_statement "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]))) ;) (do_statement "do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);" do (compound_statement "{\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          }" { (expression_statement "unaff_EBX = (undefined4 *******)local_a8;" (assignment_expression "unaff_EBX = (undefined4 *******)local_a8" identifier = (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[8];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[8]" identifier = (cast_expression "(undefined4 ******)local_a8[8]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[8]" identifier [ number_literal ]))) ;) (expression_statement "local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);" (assignment_expression "local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" identifier = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_a8[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);" (assignment_expression "local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" identifier = (binary_expression "(int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" identifier (argument_list "((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" ( (cast_expression "(uint)local_a8[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) , (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))))) ;) (expression_statement "local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);" (assignment_expression "local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d])" identifier = (cast_expression "(undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a8[0x1f] + (int)local_a8[0x1d])" ( (binary_expression "(int)local_a8[0x1f] + (int)local_a8[0x1d]" (cast_expression "(int)local_a8[0x1f]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1f]" identifier [ number_literal ])) + (cast_expression "(int)local_a8[0x1d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1d]" identifier [ number_literal ]))) )))) ;) (if_statement "if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }" if (parenthesized_expression "(*(char *)(local_a8 + 0x23) != '\0')" ( (binary_expression "*(char *)(local_a8 + 0x23) != '\0'" (pointer_expression "*(char *)(local_a8 + 0x23)" * (cast_expression "(char *)(local_a8 + 0x23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x23)" ( (binary_expression "local_a8 + 0x23" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }" { (expression_statement "pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];" (assignment_expression "pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b]" identifier = (cast_expression "(undefined4 *****)local_a8[0xd][0x2b]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_a8[0xd][0x2b]" (subscript_expression "local_a8[0xd]" identifier [ number_literal ]) [ number_literal ]))) ;) (if_statement "if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }" if (parenthesized_expression "(((uint)pppppuVar26[7] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[7] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[7] & 2)" ( (binary_expression "(uint)pppppuVar26[7] & 2" (cast_expression "(uint)pppppuVar26[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }" { (expression_statement "FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);" (call_expression "FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701)" identifier (argument_list "(local_ac + -0x47469,0xcf,local_ac + -0x47701)" ( (binary_expression "local_ac + -0x47469" identifier + number_literal) , number_literal , (binary_expression "local_ac + -0x47701" identifier + number_literal) ))) ;) })) (expression_statement "bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);" (assignment_expression "bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3])" identifier = (call_expression "CARRY4((uint)local_bc,(uint)pppppuVar26[3])" identifier (argument_list "((uint)local_bc,(uint)pppppuVar26[3])" ( (cast_expression "(uint)local_bc" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)pppppuVar26[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ])) )))) ;) (expression_statement "local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);" (assignment_expression "local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3])" identifier = (cast_expression "(undefined4 ******)((int)local_bc + (int)pppppuVar26[3])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_bc + (int)pppppuVar26[3])" ( (binary_expression "(int)local_bc + (int)pppppuVar26[3]" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppuVar26[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_b8 = (int)pppppuVar26[4] + (uint)bVar41;" (assignment_expression "local_b8 = (int)pppppuVar26[4] + (uint)bVar41" identifier = (binary_expression "(int)pppppuVar26[4] + (uint)bVar41" (cast_expression "(int)pppppuVar26[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[4]" identifier [ number_literal ])) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (if_statement "if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }" if (parenthesized_expression "(local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0)" ( (binary_expression "local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0" (binary_expression "local_b8 != 0" identifier != number_literal) || (binary_expression "(undefined4 *******)local_bc != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) (compound_statement "{\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }" { (if_statement "if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;" if (parenthesized_expression "((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0)" ( (binary_expression "(*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0" (subscript_expression "(*(undefined4 *******)local_dc)[2]" (parenthesized_expression "(*(undefined4 *******)local_dc)" ( (pointer_expression "*(undefined4 *******)local_dc" * (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) [ number_literal ]) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c192;" goto statement_identifier ;)) (expression_statement "uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*(undefined4 *******)local_dc)[2][0xac8]" (subscript_expression "(byte)(*(undefined4 *******)local_dc)[2]" (call_expression "(byte)(*(undefined4 *******)local_dc)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(undefined4 *******)local_dc)" ( (pointer_expression "*(undefined4 *******)local_dc" * (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n                uVar39 = 0x20;\n              }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (expression_statement "bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);" (assignment_expression "bVar41 = CARRY4(uVar39 - 1,(uint)local_c4)" identifier = (call_expression "CARRY4(uVar39 - 1,(uint)local_c4)" identifier (argument_list "(uVar39 - 1,(uint)local_c4)" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (cast_expression "(uint)local_c4" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);" (assignment_expression "local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39)" identifier = (cast_expression "(undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_c4 + (uVar39 - 1) & -uVar39)" ( (binary_expression "(int)local_c4 + (uVar39 - 1) & -uVar39" (binary_expression "(int)local_c4 + (uVar39 - 1)" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);" (assignment_expression "local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0)" identifier = (binary_expression "((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0)" (binary_expression "((uVar39 != 0) - 1) + local_c0 + (uint)bVar41" (binary_expression "((uVar39 != 0) - 1) + local_c0" (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) )) + identifier) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier)) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) })) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0x22];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0x22]" identifier = (cast_expression "(undefined4 ******)local_a8[0x22]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x22]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));" (assignment_expression "ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" identifier = (cast_expression "(undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" ( (binary_expression "(int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4)" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)local_bc - (int)(undefined4 *******)local_b4)" ( (binary_expression "(int)local_bc - (int)(undefined4 *******)local_b4" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) )))) ;) (expression_statement "ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));" (assignment_expression "ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" identifier = (cast_expression "(undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" ( (binary_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" (binary_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0" (parenthesized_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4))" ( (binary_expression "(local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)" (parenthesized_expression "(local_b8 - (int)local_b4._4_4_)" ( (binary_expression "local_b8 - (int)local_b4._4_4_" identifier - (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)(local_bc < (undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc < (undefined4 *******)local_b4)" ( (binary_expression "local_bc < (undefined4 *******)local_b4" identifier < (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) )) + identifier) + (cast_expression "(uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" identifier (argument_list "((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" ( (binary_expression "(int)local_bc - (int)(undefined4 *******)local_b4" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)local_c4" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (expression_statement "ppppppuVar33 = (undefined4 ******)local_a8[0x21];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_a8[0x21]" identifier = (cast_expression "(undefined4 ******)local_a8[0x21]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x21]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }" if (parenthesized_expression "(ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               )" ( (binary_expression "ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)" (binary_expression "ppppppuVar11 < ppppppuVar29" identifier < identifier) || (binary_expression "(uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)" (call_expression "(uint)((int)ppppppuVar11 - (int)ppppppuVar29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppuVar11 - (int)ppppppuVar29)" ( (binary_expression "(int)ppppppuVar11 - (int)ppppppuVar29" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(local_a8[0x21] < ppppppuVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_a8[0x21] < ppppppuVar8)" ( (binary_expression "local_a8[0x21] < ppppppuVar8" (subscript_expression "local_a8[0x21]" identifier [ number_literal ]) < identifier) ))))) )) (compound_statement "{\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }" { (expression_statement "ppppppuVar33 = ppppppuVar8;" (assignment_expression "ppppppuVar33 = ppppppuVar8" identifier = identifier) ;) (expression_statement "ppppppuVar11 = ppppppuVar29;" (assignment_expression "ppppppuVar11 = ppppppuVar29" identifier = identifier) ;) })) (expression_statement "bVar42 = *(byte *)(local_a8 + 7);" (assignment_expression "bVar42 = *(byte *)(local_a8 + 7)" identifier = (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(local_a8 + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(local_a8 + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (if_statement "if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" if (parenthesized_expression "((bVar42 & 8) == 0)" ( (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }" { (expression_statement "*(byte *)(local_a8 + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(local_a8 + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xf8" identifier & number_literal)) ;) }) (else_clause "else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" else (if_statement "if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" if (parenthesized_expression "((bVar42 & 2) != 0)" ( (binary_expression "(bVar42 & 2) != 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0008b9d8;" goto statement_identifier ;)))) (expression_statement "pppppuVar26 = ppppppuVar31[7];" (assignment_expression "pppppuVar26 = ppppppuVar31[7]" identifier = (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) ;) (expression_statement "local_a8[3] = ppppppuVar33;" (assignment_expression "local_a8[3] = ppppppuVar33" (subscript_expression "local_a8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_a8[4] = ppppppuVar11;" (assignment_expression "local_a8[4] = ppppppuVar11" (subscript_expression "local_a8[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }" if (parenthesized_expression "(((uint)pppppuVar26 & 4) == 0)" ( (binary_expression "((uint)pppppuVar26 & 4) == 0" (parenthesized_expression "((uint)pppppuVar26 & 4)" ( (binary_expression "(uint)pppppuVar26 & 4" (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }" { (expression_statement "FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);" (call_expression "FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e)" identifier (argument_list "(local_ac + -0x47469,0xe3,local_ac + -0x4784e)" ( (binary_expression "local_ac + -0x47469" identifier + number_literal) , number_literal , (binary_expression "local_ac + -0x4784e" identifier + number_literal) ))) ;) })) (expression_statement "pppppuVar14 = ppppppuVar31[5];" (assignment_expression "pppppuVar14 = ppppppuVar31[5]" identifier = (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar34 = ppppppuVar31[6];" (assignment_expression "pppppuVar34 = ppppppuVar31[6]" identifier = (subscript_expression "ppppppuVar31[6]" identifier [ number_literal ])) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (if_statement "if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;" if (parenthesized_expression "(((uint)pppppuVar26 & 1) == 0)" ( (binary_expression "((uint)pppppuVar26 & 1) == 0" (parenthesized_expression "((uint)pppppuVar26 & 1)" ( (binary_expression "(uint)pppppuVar26 & 1" (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf5b;" goto statement_identifier ;)) (expression_statement "pppppuVar26 = ppppppuVar31[1];" (assignment_expression "pppppuVar26 = ppppppuVar31[1]" identifier = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar1 = ppppppuVar31[1];" (assignment_expression "pppppuVar1 = ppppppuVar31[1]" identifier = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "pppppuVar2 = ppppppuVar31[2];" (assignment_expression "pppppuVar2 = ppppppuVar31[2]" identifier = (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) ;) (expression_statement "local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);" (assignment_expression "local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" (subscript_expression "local_a8[5]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)ppppppuVar31[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);" (assignment_expression "local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" (subscript_expression "local_a8[1]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)pppppuVar1" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)pppppuVar1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));" (assignment_expression "local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" (subscript_expression "local_a8[2]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" ( (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar2" (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) + (cast_expression "(int)pppppuVar2" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (expression_statement "local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));" (assignment_expression "local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" (subscript_expression "local_a8[6]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" ( (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar34" (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) + (cast_expression "(int)pppppuVar34" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)pppppuVar14" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) )))) ;) (expression_statement "*(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;" (assignment_expression "*(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_a8 + 7) | 5" (pointer_expression "*(byte *)(local_a8 + 7)" * (cast_expression "(byte *)(local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 7)" ( (binary_expression "local_a8 + 7" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(*(code *)(*local_a8)[0xe])(local_a8);" (call_expression "(*(code *)(*local_a8)[0xe])(local_a8)" (parenthesized_expression "(*(code *)(*local_a8)[0xe])" ( (pointer_expression "*(code *)(*local_a8)[0xe]" * (cast_expression "(code *)(*local_a8)[0xe]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*local_a8)[0xe]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) )) (argument_list "(local_a8)" ( identifier ))) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008c197;" goto statement_identifier ;)) (expression_statement "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);" (assignment_expression "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" * (cast_expression "(undefined4 ********)(param_1 + 0x50)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)local_cc)" ( (binary_expression "pppppppuVar10 == (undefined4 *******)local_cc" identifier == (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) (compound_statement "{\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }" { (if_statement "if (param_2 != 1) goto LAB_00089837;" if (parenthesized_expression "(param_2 != 1)" ( (binary_expression "param_2 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00089837;" goto statement_identifier ;)) (expression_statement "local_120 = (undefined4 *******)0x0;" (assignment_expression "local_120 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" * (cast_expression "(undefined4 ********)(param_1 + 0x4c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00089172;" goto statement_identifier ;) })) (expression_statement "local_a8 = *(undefined4 *******)local_cc;" (assignment_expression "local_a8 = *(undefined4 *******)local_cc" identifier = (pointer_expression "*(undefined4 *******)local_cc" * (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xc]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0xb][0x21]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (if_statement "if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;" if (parenthesized_expression "((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31)" ( (binary_expression "(undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31" (cast_expression "(undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" ( (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26" (cast_expression "(int)((undefined4 *******)local_a8)[0xb][0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_a8)[0xb][0x22]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008bf9d;" goto statement_identifier ;)) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (expression_statement "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]))) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)local_cc + 1;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)local_cc + 1" (field_expression "local_cc._0_4_" identifier . field_identifier) = (binary_expression "(undefined4 *******)local_cc + 1" (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) }) while (parenthesized_expression "(((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff)" ( (binary_expression "((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff" (parenthesized_expression "((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4)" ( (binary_expression "(uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4" (cast_expression "(uint)local_b4._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_b4._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) != number_literal) )) ;) })) (expression_statement "FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);" (call_expression "FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6)" identifier (argument_list "(local_ac + -0x4745f,0xe02,local_ac + -0x478c6)" ( (binary_expression "local_ac + -0x4745f" identifier + number_literal) , number_literal , (binary_expression "local_ac + -0x478c6" identifier + number_literal) ))) ;) })) (labeled_statement "LAB_0008bf9d:\n      ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47714" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x7f7;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x7f7" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4746e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bfbe" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_120 = (undefined4 *******)0x0;" (assignment_expression "local_120 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (labeled_statement "LAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;" statement_identifier : (expression_statement "local_110 = (undefined4 *******)0x0;" (assignment_expression "local_110 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" * (cast_expression "(undefined1 *)(param_1 + 0xa1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" else (compound_statement "{\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" { (expression_statement "ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (if_statement "if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }" if (parenthesized_expression "((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3))" ( (binary_expression "(*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)" (parenthesized_expression "(*(char *)(param_1 + 0xa1) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xa1) != '\0'" (pointer_expression "*(char *)(param_1 + 0xa1)" * (cast_expression "(char *)(param_1 + 0xa1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)" ( (comma_expression "ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) , (binary_expression "*(int *)(param_1 + 0xa4) < 3" (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) )))) < number_literal)) ))) )) (compound_statement "{\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }" { (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" identifier = (cast_expression "(undefined4 ******)&__DT_PLTGOT" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&__DT_PLTGOT" & identifier))) ;) (expression_statement "FUN_000a8e50(param_1 + 0x58);" (call_expression "FUN_000a8e50(param_1 + 0x58)" identifier (argument_list "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))) ;) (expression_statement "piVar13 = *(int **)(param_1 + 0x4c);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x4c)" identifier = (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }" if (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x50))" ( (binary_expression "piVar13 != *(int **)(param_1 + 0x50)" identifier != (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }" { (do_statement "do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);" do (compound_statement "{\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        }" { (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0004ebf0();" (call_expression "FUN_0004ebf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x74) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x74) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x74)" * (cast_expression "(undefined4 *)(iVar19 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x74)" ( (binary_expression "iVar19 + 0x74" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0004eb90();" (call_expression "FUN_0004eb90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x7c) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x7c) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x7c)" * (cast_expression "(undefined4 *)(iVar19 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7c)" ( (binary_expression "iVar19 + 0x7c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar19 + 0x8c) = 0;" (assignment_expression "*(undefined1 *)(iVar19 + 0x8c) = 0" (pointer_expression "*(undefined1 *)(iVar19 + 0x8c)" * (cast_expression "(undefined1 *)(iVar19 + 0x8c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x8c)" ( (binary_expression "iVar19 + 0x8c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x78) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x78) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x78)" * (cast_expression "(undefined4 *)(iVar19 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x78)" ( (binary_expression "iVar19 + 0x78" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x80) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x80) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x80)" * (cast_expression "(undefined4 *)(iVar19 + 0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x80)" ( (binary_expression "iVar19 + 0x80" identifier + number_literal) )))) = number_literal) ;) }) while (parenthesized_expression "(*(int **)(param_1 + 0x50) != piVar13)" ( (binary_expression "*(int **)(param_1 + 0x50) != piVar13" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }" if (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x4c))" ( (binary_expression "piVar13 != *(int **)(param_1 + 0x4c)" identifier != (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }" { (expression_statement "*(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);" (assignment_expression "*(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c)" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) = (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar19 = *(int *)(param_1 + 0xa8);" (assignment_expression "iVar19 = *(int *)(param_1 + 0xa8)" identifier = (pointer_expression "*(int *)(param_1 + 0xa8)" * (cast_expression "(int *)(param_1 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = iVar19 + 3;" (assignment_expression "iVar22 = iVar19 + 3" identifier = (binary_expression "iVar19 + 3" identifier + number_literal)) ;) (if_statement "if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }" if (parenthesized_expression "(-1 < iVar19)" ( (binary_expression "-1 < iVar19" number_literal < identifier) )) (compound_statement "{\n        iVar22 = iVar19;\n      }" { (expression_statement "iVar22 = iVar19;" (assignment_expression "iVar22 = iVar19" identifier = identifier) ;) })) (expression_statement "iVar19 = (iVar22 >> 2) * 3;" (assignment_expression "iVar19 = (iVar22 >> 2) * 3" identifier = (binary_expression "(iVar22 >> 2) * 3" (parenthesized_expression "(iVar22 >> 2)" ( (binary_expression "iVar22 >> 2" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "*(int *)(param_1 + 0xa8) = iVar19;" (assignment_expression "*(int *)(param_1 + 0xa8) = iVar19" (pointer_expression "*(int *)(param_1 + 0xa8)" * (cast_expression "(int *)(param_1 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_ac[0x1ce]" identifier = (cast_expression "(undefined4 ******)local_ac[0x1ce]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_ac[0x1ce]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = gettext(local_ac + -0x47247);" (assignment_expression "uVar9 = gettext(local_ac + -0x47247)" identifier = (call_expression "gettext(local_ac + -0x47247)" identifier (argument_list "(local_ac + -0x47247)" ( (binary_expression "local_ac + -0x47247" identifier + number_literal) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "FUN_000d1390(uVar9,ppppppuVar31,iVar19);" (call_expression "FUN_000d1390(uVar9,ppppppuVar31,iVar19)" identifier (argument_list "(uVar9,ppppppuVar31,iVar19)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0006f600();" (call_expression "FUN_0006f600()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) })) (expression_statement "local_ac = ppppppuVar31;" (assignment_expression "local_ac = ppppppuVar31" identifier = identifier) ;) (expression_statement "puVar28 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "puVar28 = *(undefined4 **)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" * (cast_expression "(undefined4 **)(param_1 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != puVar28)" ( (binary_expression "*(undefined4 **)(param_1 + 0x50) != puVar28" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_00088eb5;" goto statement_identifier ;)) (labeled_statement "LAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);" statement_identifier : (expression_statement "local_120 = *(undefined4 *******)(param_1 + 100);" (assignment_expression "local_120 = *(undefined4 *******)(param_1 + 100)" identifier = (pointer_expression "*(undefined4 *******)(param_1 + 100)" * (cast_expression "(undefined4 *******)(param_1 + 100)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) ;)) (expression_statement "FUN_000a8e50(param_1 + 0x58);" (call_expression "FUN_000a8e50(param_1 + 0x58)" identifier (argument_list "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))) ;) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" * (cast_expression "(undefined4 ********)(param_1 + 0x4c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;" if (parenthesized_expression "(pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50))" ( (binary_expression "pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)" identifier == (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" * (cast_expression "(undefined4 ********)(param_1 + 0x50)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0008b10a;" goto statement_identifier ;)) (do_statement "do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);" do (compound_statement "{\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    }" { (expression_statement "unaff_EBX = (undefined4 *******)*pppppppuVar16;" (assignment_expression "unaff_EBX = (undefined4 *******)*pppppppuVar16" identifier = (cast_expression "(undefined4 *******)*pppppppuVar16" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppppuVar16" * identifier))) ;) (expression_statement "pppppppuVar16 = pppppppuVar16 + 1;" (assignment_expression "pppppppuVar16 = pppppppuVar16 + 1" identifier = (binary_expression "pppppppuVar16 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0004ebf0();" (call_expression "FUN_0004ebf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX[0x1d] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[0x1d] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "FUN_0004eb90();" (call_expression "FUN_0004eb90()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX[0x1f] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[0x1f] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(undefined1 *)(unaff_EBX + 0x23) = 0;" (assignment_expression "*(undefined1 *)(unaff_EBX + 0x23) = 0" (pointer_expression "*(undefined1 *)(unaff_EBX + 0x23)" * (cast_expression "(undefined1 *)(unaff_EBX + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x23)" ( (binary_expression "unaff_EBX + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);" (assignment_expression "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" * (cast_expression "(undefined4 ********)(param_1 + 0x50)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(pppppppuVar10 != pppppppuVar16)" ( (binary_expression "pppppppuVar10 != pppppppuVar16" identifier != identifier) )) ;) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" * (cast_expression "(undefined4 ********)(param_1 + 0x4c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00089172:\n    local_110 = (undefined4 *******)0x0;" statement_identifier : (expression_statement "local_110 = (undefined4 *******)0x0;" (assignment_expression "local_110 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (expression_statement "iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;" (assignment_expression "iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16" identifier = (binary_expression "(int)pppppppuVar10 - (int)pppppppuVar16" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" * (cast_expression "(undefined1 *)(param_1 + 0xa1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }" if (parenthesized_expression "(pppppppuVar16 != pppppppuVar10)" ( (binary_expression "pppppppuVar16 != pppppppuVar10" identifier != identifier) )) (compound_statement "{\n      local_110 = *pppppppuVar16;\n    }" { (expression_statement "local_110 = *pppppppuVar16;" (assignment_expression "local_110 = *pppppppuVar16" identifier = (pointer_expression "*pppppppuVar16" * identifier)) ;) })) }))) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" identifier = identifier) ;) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" identifier = identifier) ;) (expression_statement "local_fc = (undefined4 *******)0x0;" (assignment_expression "local_fc = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if (iVar19 == 4) {\n    local_fc = local_110;\n  }" if (parenthesized_expression "(iVar19 == 4)" ( (binary_expression "iVar19 == 4" identifier == number_literal) )) (compound_statement "{\n    local_fc = local_110;\n  }" { (expression_statement "local_fc = local_110;" (assignment_expression "local_fc = local_110" identifier = identifier) ;) })) (expression_statement "local_114 = local_ac + 0x13a;" (assignment_expression "local_114 = local_ac + 0x13a" identifier = (binary_expression "local_ac + 0x13a" identifier + number_literal)) ;) (expression_statement "local_a8 = *(undefined4 *******)(param_1 + 0x74);" (assignment_expression "local_a8 = *(undefined4 *******)(param_1 + 0x74)" identifier = (pointer_expression "*(undefined4 *******)(param_1 + 0x74)" * (cast_expression "(undefined4 *******)(param_1 + 0x74)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "local_f8 = local_114;" (assignment_expression "local_f8 = local_114" identifier = identifier) ;) (if_statement "if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }" if (parenthesized_expression "(*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8)" ( (binary_expression "*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8" (pointer_expression "*(undefined4 ********)(param_1 + 0x78)" * (cast_expression "(undefined4 ********)(param_1 + 0x78)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) != (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) (compound_statement "{\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }" { (do_statement "do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);" do (compound_statement "{\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    }" { (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (expression_statement "puVar35 = puVar36;" (assignment_expression "puVar35 = puVar36" identifier = identifier) ;) (if_statement "if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" if (parenthesized_expression "(ppppppuVar11 < ppppppuVar31[0x2c])" ( (binary_expression "ppppppuVar11 < ppppppuVar31[0x2c]" identifier < (subscript_expression "ppppppuVar31[0x2c]" identifier [ number_literal ])) )) (compound_statement "{\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }" { (expression_statement "local_c4 = local_114;" (assignment_expression "local_c4 = local_114" identifier = identifier) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_114)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_114)[3]" identifier = (cast_expression "(undefined4 *****)(*local_114)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_114)[3]" (parenthesized_expression "(*local_114)" ( (pointer_expression "*local_114" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c096;" goto statement_identifier ;)) (labeled_statement "LAB_000899b9:\n        pppppppuVar10 = unaff_EBX;" statement_identifier : (expression_statement "pppppppuVar10 = unaff_EBX;" (assignment_expression "pppppppuVar10 = unaff_EBX" identifier = identifier) ;)) (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" identifier = (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ]))) ;) (if_statement "if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;" if (parenthesized_expression "((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0))" ( (binary_expression "(pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)" (parenthesized_expression "(pppppuVar26[0x2c] == (undefined4 ****)0x0)" ( (binary_expression "pppppuVar26[0x2c] == (undefined4 ****)0x0" (subscript_expression "pppppuVar26[0x2c]" identifier [ number_literal ]) == (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) && (parenthesized_expression "(pppppppuVar16 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (goto_statement "goto LAB_00089257;" goto statement_identifier ;)) (labeled_statement "LAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "pppppppuVar16 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar16 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x899e3;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x899e3" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_001283f0();" (assignment_expression "cVar7 = FUN_001283f0()" identifier = (call_expression "FUN_001283f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') goto LAB_00089ed0;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00089ed0;" goto statement_identifier ;)) (labeled_statement "LAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];" statement_identifier : (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;)) (expression_statement "uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;" (assignment_expression "uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff" identifier = (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal)) ;) (if_statement "if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" if (parenthesized_expression "(uVar39 - 0xb < 3)" ( (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n          local_f4 = (undefined4 *******)0x8000;\n        }" { (expression_statement "local_f4 = (undefined4 *******)0x8000;" (assignment_expression "local_f4 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" else (compound_statement "{\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" { (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;" if (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17))" ( (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(unaff_EBX = pppppppuVar10, uVar39 != 0x17)" ( (comma_expression "unaff_EBX = pppppppuVar10, uVar39 != 0x17" (assignment_expression "unaff_EBX = pppppppuVar10" identifier = identifier) , (binary_expression "uVar39 != 0x17" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "local_f4 = (undefined4 *******)0x2000000;" (assignment_expression "local_f4 = (undefined4 *******)0x2000000" identifier = (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)*local_a8;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)*local_a8" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)*local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];" (assignment_expression "ppppppuVar11 = ((undefined4 *******)local_b4)[0x21]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x21]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (if_statement "if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;" if (parenthesized_expression "((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31)" ( (binary_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31" (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3" (binary_expression "(int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11" (cast_expression "(int)((undefined4 *******)local_b4)[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x22]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) - (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008bf9d;" goto statement_identifier ;)) (expression_statement "local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1]" identifier = (subscript_expression "ppppppuVar11[(int)ppppppuVar31 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ])) ;) (expression_statement "local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];" (assignment_expression "local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2]" identifier = (cast_expression "(undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[(int)ppppppuVar31 * 2]" identifier [ (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (if_statement "if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }" if (parenthesized_expression "(((uint)local_e0 & (uint)local_e4) == 0xffffffff)" ( (binary_expression "((uint)local_e0 & (uint)local_e4) == 0xffffffff" (parenthesized_expression "((uint)local_e0 & (uint)local_e4)" ( (binary_expression "(uint)local_e0 & (uint)local_e4" (cast_expression "(uint)local_e0" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == number_literal) )) (compound_statement "{\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478d6" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xd3b;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xd3b" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4745f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c39c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c39c" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec)" identifier = (cast_expression "(undefined4 *******)(local_ac + -0xdb9ec)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdb9ec)" ( (binary_expression "local_ac + -0xdb9ec" identifier + number_literal) )))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18]" identifier = (cast_expression "(undefined4 *******)(*(undefined4 *******)local_b4)[0x18]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*(undefined4 *******)local_b4)[0x18]" (parenthesized_expression "(*(undefined4 *******)local_b4)" ( (pointer_expression "*(undefined4 *******)local_b4" * (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" if (parenthesized_expression "(pppppppuVar10 == unaff_EBX)" ( (binary_expression "pppppppuVar10 == unaff_EBX" identifier == identifier) )) (compound_statement "{\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }" { (expression_statement "unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];" (assignment_expression "unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe]" identifier = (cast_expression "(undefined4 *******)((undefined4 *******)local_b4)[0xe]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "((undefined4 *******)local_b4)[0xe]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) ;) (if_statement "if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }" if (parenthesized_expression "((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31)" ( (binary_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31" (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2" (binary_expression "(int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX" (cast_expression "(int)((undefined4 *******)local_b4)[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xf]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }" { (labeled_statement "LAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4772e" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4746e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c335;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c335" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];" (assignment_expression "ppppppuVar31 = unaff_EBX[(int)ppppppuVar31]" identifier = (subscript_expression "unaff_EBX[(int)ppppppuVar31]" identifier [ (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) }) (else_clause "else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" else (compound_statement "{\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" { (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar36 + -0x10)" * (cast_expression "(undefined4 ********)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8adac;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8adac" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();" (assignment_expression "ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)()" identifier = (cast_expression "(undefined4 ******)(*(code *)pppppppuVar10)()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "ppppppuVar11 = local_ac;" (assignment_expression "ppppppuVar11 = local_ac" identifier = identifier) ;) (if_statement "if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;" if (parenthesized_expression "(((uint)ppppppuVar31[7] & 1) == 0)" ( (binary_expression "((uint)ppppppuVar31[7] & 1) == 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 1)" ( (binary_expression "(uint)ppppppuVar31[7] & 1" (cast_expression "(uint)ppppppuVar31[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf5b;" goto statement_identifier ;)) (expression_statement "local_cc._4_4_ = ppppppuVar31[2];" (assignment_expression "local_cc._4_4_ = ppppppuVar31[2]" (field_expression "local_cc._4_4_" identifier . field_identifier) = (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];" (assignment_expression "local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1]" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)ppppppuVar31[1]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ]))) ;) (expression_statement "local_dc._4_4_ = (undefined4 ******)local_a8[3];" (assignment_expression "local_dc._4_4_ = (undefined4 ******)local_a8[3]" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)local_a8[3]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[3]" identifier [ number_literal ]))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_a8[2];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_a8[2]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) ;) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar33 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (expression_statement "pppppuVar14 = ppppppuVar31[0x37];" (assignment_expression "pppppuVar14 = ppppppuVar31[0x37]" identifier = (subscript_expression "ppppppuVar31[0x37]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }" if (parenthesized_expression "((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33)" ( (binary_expression "(undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33" (cast_expression "(undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)" ( (binary_expression "((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333" (parenthesized_expression "((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2)" ( (binary_expression "(int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2" (binary_expression "(int)ppppppuVar31[0x38] - (int)pppppuVar14" (cast_expression "(int)ppppppuVar31[0x38]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x38]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 ******)(puVar36 + -4) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar36 + -4) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar36 + -4)" * (cast_expression "(undefined4 ******)(puVar36 + -4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4773f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4746e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c2b0" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_40 = (undefined4 *******)0x0;" (assignment_expression "local_40 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_3c = (undefined4 *******)0xffffffff;" (assignment_expression "local_3c = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_38 = (undefined4 *******)0x80000000;" (assignment_expression "local_38 = (undefined4 *******)0x80000000" identifier = (cast_expression "(undefined4 *******)0x80000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_34 = (undefined4 *******)0x0;" (assignment_expression "local_34 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }" if (parenthesized_expression "((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10)" ( (binary_expression "*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10" (pointer_expression "*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" * (cast_expression "(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" ( (binary_expression "(int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb" (cast_expression "(int)(pppppuVar14 + (int)ppppppuVar33 * 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppuVar14 + (int)ppppppuVar33 * 5)" ( (binary_expression "pppppuVar14 + (int)ppppppuVar33 * 5" identifier + (binary_expression "(int)ppppppuVar33 * 5" (cast_expression "(int)ppppppuVar33" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            local_38 = (undefined4 *******)0x90000000;\n          }" { (expression_statement "local_38 = (undefined4 *******)0x90000000;" (assignment_expression "local_38 = (undefined4 *******)0x90000000" identifier = (cast_expression "(undefined4 *******)0x90000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) })) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5" (pointer_expression "*(undefined4 ******)(puVar36 + -0x18)" * (cast_expression "(undefined4 ******)(puVar36 + -0x18)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = (binary_expression "pppppuVar14 + (int)ppppppuVar33 * 5" identifier + (binary_expression "(int)ppppppuVar33 * 5" (cast_expression "(int)ppppppuVar33" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33" (pointer_expression "*(undefined4 *******)(puVar36 + -0x1c)" * (cast_expression "(undefined4 *******)(puVar36 + -0x1c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x1c)" ( (binary_expression "puVar36 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x20)" * (cast_expression "(undefined4 *******)(puVar36 + -0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x20)" ( (binary_expression "puVar36 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x24) = 0x8a65b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x24) = 0x8a65b" (pointer_expression "*(undefined4 *)(puVar36 + -0x24)" * (cast_expression "(undefined4 *)(puVar36 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x24)" ( (binary_expression "puVar36 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001290d0();" (assignment_expression "iVar19 = FUN_001290d0()" identifier = (call_expression "FUN_001290d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppppppuVar31 = local_a8;" (assignment_expression "ppppppuVar31 = local_a8" identifier = identifier) ;) (if_statement "if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }" if (parenthesized_expression "((iVar19 != 0) || (-1 < (int)local_38))" ( (binary_expression "(iVar19 != 0) || (-1 < (int)local_38)" (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) || (parenthesized_expression "(-1 < (int)local_38)" ( (binary_expression "-1 < (int)local_38" number_literal < (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8aebf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8aebf" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000aa480();" (call_expression "FUN_000aa480()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar11;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar11" identifier = (cast_expression "(undefined4 *******)ppppppuVar11" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (goto_statement "goto LAB_00089370;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar36 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0xc) = *local_a8;" (assignment_expression "*(undefined4 ******)(puVar36 + -0xc) = *local_a8" (pointer_expression "*(undefined4 ******)(puVar36 + -0xc)" * (cast_expression "(undefined4 ******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (pointer_expression "*local_a8" * identifier)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a687;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a687" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_000a9940();" (assignment_expression "lVar44 = FUN_000a9940()" identifier = (call_expression "FUN_000a9940()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);" (assignment_expression "bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" identifier = (pointer_expression "*(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" * (cast_expression "(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" ( (binary_expression "(int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]" (cast_expression "(int)(*ppppppuVar31)[0x6c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(*ppppppuVar31)[0x6c]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ])) + (cast_expression "(int)ppppppuVar31[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ]))) ))))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);" (assignment_expression "local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" identifier = (binary_expression "lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" identifier + (call_expression "(ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" ( (binary_expression "1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc" (binary_expression "1 << (sbyte)((int)(uint)bVar42 >> 5)" number_literal << (call_expression "(sbyte)((int)(uint)bVar42 >> 5)" (parenthesized_expression "(sbyte)" ( identifier )) (argument_list "((int)(uint)bVar42 >> 5)" ( (binary_expression "(int)(uint)bVar42 >> 5" (cast_expression "(int)(uint)bVar42" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) >> number_literal) )))) & number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a6cf" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a8 = ppppppuVar31;" (assignment_expression "local_a8 = ppppppuVar31" identifier = identifier) ;) (expression_statement "FUN_000aa480();" (call_expression "FUN_000aa480()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);" statement_identifier : (expression_statement "local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);" (assignment_expression "local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6])" identifier = (cast_expression "(undefined4 ******)((uint)local_5c + (int)local_a8[6])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)local_5c + (int)local_a8[6])" ( (binary_expression "(uint)local_5c + (int)local_a8[6]" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)local_a8[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[6]" identifier [ number_literal ]))) )))) ;)) (expression_statement "local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));" (assignment_expression "local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" identifier = (cast_expression "(undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" ( (binary_expression "(int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6])" (binary_expression "(int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20)" (cast_expression "(int)local_a8[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) + (cast_expression "(int)((ulonglong)local_5c >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)local_5c >> 0x20)" ( (binary_expression "(ulonglong)local_5c >> 0x20" (cast_expression "(ulonglong)local_5c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) + (cast_expression "(uint)CARRY4((uint)local_5c,(uint)local_a8[6])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_5c,(uint)local_a8[6])" identifier (argument_list "((uint)local_5c,(uint)local_a8[6])" ( (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_a8[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[6]" identifier [ number_literal ])) ))))) )))) ;) (expression_statement "local_5c = CONCAT44(local_108,local_10c);" (assignment_expression "local_5c = CONCAT44(local_108,local_10c)" identifier = (call_expression "CONCAT44(local_108,local_10c)" identifier (argument_list "(local_108,local_10c)" ( identifier , identifier )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_fc;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_fc" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }" if (parenthesized_expression "((undefined4 *******)local_fc == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_fc == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }" { (expression_statement "pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_a8)[0x69]" identifier = (cast_expression "(undefined4 *****)(*local_a8)[0x69]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_a8)[0x69]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) ;) (if_statement "if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }" if (parenthesized_expression "(local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2))" ( (binary_expression "local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" (subscript_expression "local_a8[1]" identifier [ number_literal ]) < (cast_expression "(undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" ( (binary_expression "(int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2" (binary_expression "(int)(*local_a8)[0x6a] - (int)pppppuVar14" (cast_expression "(int)(*local_a8)[0x6a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(*local_a8)[0x6a]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ])) - (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }" { (expression_statement "pppppuVar34 = (undefined4 *****)(*local_c4)[3];" (assignment_expression "pppppuVar34 = (undefined4 *****)(*local_c4)[3]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[3]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }" if (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }" { (labeled_statement "LAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;" statement_identifier : (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c3fe;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c3fe" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000534d0();" (call_expression "FUN_000534d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar39 = FUN_0002e11a();" (assignment_expression "uVar39 = FUN_0002e11a()" identifier = (call_expression "FUN_0002e11a()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar39;" return identifier ;) })) (expression_statement "ppppuVar17 = pppppuVar14[(int)local_a8[1]];" (assignment_expression "ppppuVar17 = pppppuVar14[(int)local_a8[1]]" identifier = (subscript_expression "pppppuVar14[(int)local_a8[1]]" identifier [ (cast_expression "(int)local_a8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[1]" identifier [ number_literal ])) ])) ;) (if_statement "if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }" if (parenthesized_expression "(ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2))" ( (binary_expression "ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" identifier < (cast_expression "(undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" ( (binary_expression "(int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2" (binary_expression "(int)pppppuVar34[0x14] - (int)pppppuVar34[0x13]" (cast_expression "(int)pppppuVar34[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[0x14]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar34[0x13]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[0x13]" identifier [ number_literal ]))) >> number_literal) )))) )) (compound_statement "{\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar34[0x13][(int)ppppuVar17]" (subscript_expression "pppppuVar34[0x13]" identifier [ number_literal ]) [ (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) })) }) (else_clause "else {\n            }" else (compound_statement "{\n            }" { }))) })) (expression_statement "local_5c._0_4_ = (undefined4 *******)local_10c;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)local_10c" (field_expression "local_5c._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_10c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_5c._4_4_ = (undefined4 *******)local_108;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)local_108" (field_expression "local_5c._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_108" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }" if (parenthesized_expression "(((uint)pppppuVar26[2] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[2] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" ( (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }" { (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(puVar36 + -0xc) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar36 + -0xc) = &local_5c" (pointer_expression "*(undefined8 **)(puVar36 + -0xc)" * (cast_expression "(undefined8 **)(puVar36 + -0xc)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0x10) = *local_a8;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x10) = *local_a8" (pointer_expression "*(undefined4 ******)(puVar36 + -0x10)" * (cast_expression "(undefined4 ******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_a8" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8b155;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8b155" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_00088b60();" (assignment_expression "cVar7 = FUN_00088b60()" identifier = (call_expression "FUN_00088b60()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)0x0;" (assignment_expression "unaff_EBX = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (if_statement "if (cVar7 == '\0') goto LAB_00089370;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) })) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);" (assignment_expression "bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" identifier = (call_expression "CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" identifier (argument_list "((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) ;) (expression_statement "local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);" (assignment_expression "local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc" (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )))) ;) (expression_statement "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);" (assignment_expression "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" ( (binary_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41" (binary_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_" (cast_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0)" ( (binary_expression "(int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0" (binary_expression "(int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" (cast_expression "(int)local_dc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_dc._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" identifier (argument_list "((uint)(undefined4 *******)local_dc,(uint)local_e4)" ( (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) + identifier) )))) ;) (expression_statement "pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;" (assignment_expression "pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" identifier = (cast_expression "(undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" ( (binary_expression "(int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc))" (binary_expression "(int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" (cast_expression "(int)local_5c._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_5c._4_4_" identifier . field_identifier)) + (cast_expression "(uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" identifier (argument_list "((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" ( (binary_expression "(int)local_f4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)(undefined4 *******)local_5c" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ))))) + (parenthesized_expression "((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc))" ( (binary_expression "(local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)" (parenthesized_expression "(local_f0 - (int)local_cc._4_4_)" ( (binary_expression "local_f0 - (int)local_cc._4_4_" identifier - (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)(local_f4 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_f4 < (undefined4 *******)local_cc)" ( (binary_expression "local_f4 < (undefined4 *******)local_cc" identifier < (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) ))) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f)" identifier = (cast_expression "(undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_f0 << 1 | (uint)local_f4 >> 0x1f)" ( (binary_expression "local_f0 << 1 | (uint)local_f4 >> 0x1f" (binary_expression "local_f0 << 1" identifier << number_literal) | (binary_expression "(uint)local_f4 >> 0x1f" (cast_expression "(uint)local_f4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "local_10c = (undefined4 *******)local_5c;" (assignment_expression "local_10c = (undefined4 *******)local_5c" identifier = (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_108 = local_5c._4_4_;" (assignment_expression "local_108 = local_5c._4_4_" identifier = (field_expression "local_5c._4_4_" identifier . field_identifier)) ;) (if_statement "if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }" if (parenthesized_expression "(unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX))" ( (binary_expression "unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)" (binary_expression "unaff_EBX <= pppppppuVar30" identifier <= identifier) && (binary_expression "(uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)" (call_expression "(uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2))" ( (binary_expression "(undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)" (cast_expression "(undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c)" ( (binary_expression "((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c" (parenthesized_expression "((int)local_f4 - (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)local_f4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) + (cast_expression "(int)(undefined4 *******)local_5c" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) < (cast_expression "(undefined *)((int)local_f4 * 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 * 2)" ( (binary_expression "(int)local_f4 * 2" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ))) <= (call_expression "(uint)((int)pppppppuVar30 - (int)unaff_EBX)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppuVar30 - (int)unaff_EBX)" ( (binary_expression "(int)pppppppuVar30 - (int)unaff_EBX" (cast_expression "(int)pppppppuVar30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) )) (compound_statement "{\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }" { (if_statement "if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" if (parenthesized_expression "((undefined4 *******)local_b4 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_b4 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x10]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[0x10]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xd8af4)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xd8af4)" ( (binary_expression "local_ac + -0xd8af4" identifier + number_literal) )))) )) (compound_statement "{\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }" { (expression_statement "*(undefined4 ******)(puVar36 + -8) = local_a8[1];" (assignment_expression "*(undefined4 ******)(puVar36 + -8) = local_a8[1]" (pointer_expression "*(undefined4 ******)(puVar36 + -8)" * (cast_expression "(undefined4 ******)(puVar36 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (subscript_expression "local_a8[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + 0x24" identifier + number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bd71;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bd71" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b1290();" (call_expression "FUN_000b1290()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" else (compound_statement "{\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" { (expression_statement "*(undefined4 ******)(puVar36 + -8) = local_a8[1];" (assignment_expression "*(undefined4 ******)(puVar36 + -8) = local_a8[1]" (pointer_expression "*(undefined4 ******)(puVar36 + -8)" * (cast_expression "(undefined4 ******)(puVar36 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (subscript_expression "local_a8[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf53;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf53" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "ppppppuVar31 = local_40;" (assignment_expression "ppppppuVar31 = local_40" identifier = identifier) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_a8)[1];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_a8)[1]" identifier = (cast_expression "(undefined4 *****)(*local_a8)[1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_a8)[1]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4723a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bd99;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bd99" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar36 + -0x10)" * (cast_expression "(undefined4 ******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bdac;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bdac" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000d1360();" (call_expression "FUN_000d1360()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) (if_statement "if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }" if (parenthesized_expression "((undefined4 *******)local_40 != &local_38)" ( (binary_expression "(undefined4 *******)local_40 != &local_38" (cast_expression "(undefined4 *******)local_40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (pointer_expression "&local_38" & identifier)) )) (compound_statement "{\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_40;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_40" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bdc6" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) })) }) (else_clause "else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" else (compound_statement "{\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" { (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                local_121 = false;\n              }" { (expression_statement "local_121 = false;" (assignment_expression "local_121 = false" identifier = false) ;) }) (else_clause "else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" else (compound_statement "{\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" { (expression_statement "local_121 = false;" (assignment_expression "local_121 = false" identifier = false) ;) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }" { (expression_statement "local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];" (assignment_expression "local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b]" identifier = (binary_expression "pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b]" (subscript_expression "pppppppuVar16[2]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)pppppuVar26[0x2b]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "pppppuVar26[0x2b]" identifier [ number_literal ])))) ;) })) }))) (expression_statement "local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);" (assignment_expression "local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_f4._1_3_,local_121)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_f4._1_3_,local_121)" identifier (argument_list "(local_f4._1_3_,local_121)" ( (field_expression "local_f4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;) (expression_statement "local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;" (assignment_expression "local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff" identifier = (binary_expression "(uint)(undefined4 *******)local_dc & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal)) ;) (expression_statement "local_e4 = ((undefined4 *******)local_b4)[0x1f];" (assignment_expression "local_e4 = ((undefined4 *******)local_b4)[0x1f]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = 0x1c" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89c71;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89c71" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)FUN_00246670();" (assignment_expression "ppppppuVar11 = (undefined4 ******)FUN_00246670()" identifier = (cast_expression "(undefined4 ******)FUN_00246670()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00246670()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_38 = (undefined4 *******)0x8000;" (assignment_expression "local_38 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "*ppppppuVar11 = (undefined4 *****)0x0;" (assignment_expression "*ppppppuVar11 = (undefined4 *****)0x0" (pointer_expression "*ppppppuVar11" * identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_3c = local_108;" (assignment_expression "local_3c = local_108" identifier = identifier) ;) (expression_statement "local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);" (assignment_expression "local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_34._1_3_,local_f4._0_1_)" identifier (argument_list "(local_34._1_3_,local_f4._0_1_)" ( (field_expression "local_34._1_3_" identifier . field_identifier) , (field_expression "local_f4._0_1_" identifier . field_identifier) ))))) ;) (expression_statement "ppppppuVar11[2] = local_108;" (assignment_expression "ppppppuVar11[2] = local_108" (subscript_expression "ppppppuVar11[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar11[1] = local_10c;" (assignment_expression "ppppppuVar11[1] = local_10c" (subscript_expression "ppppppuVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar11[4] = local_34;" (assignment_expression "ppppppuVar11[4] = local_34" (subscript_expression "ppppppuVar11[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar11[3] = (undefined4 *****)0x8000;" (assignment_expression "ppppppuVar11[3] = (undefined4 *****)0x8000" (subscript_expression "ppppppuVar11[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x8000" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppuVar11[5] = local_e4;" (assignment_expression "ppppppuVar11[5] = local_e4" (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_40 = local_10c;" (assignment_expression "local_40 = local_10c" identifier = identifier) ;) (expression_statement "ppppppuVar31 = pppppppuVar10[0x16];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0x16]" identifier = (subscript_expression "pppppppuVar10[0x16]" identifier [ number_literal ])) ;) (expression_statement "local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);" (assignment_expression "local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000)" identifier = (cast_expression "(undefined4 ******)((uint)local_10c ^ 0x8000)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)local_10c ^ 0x8000)" ( (binary_expression "(uint)local_10c ^ 0x8000" (cast_expression "(uint)local_10c" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) )))) ;) (expression_statement "uVar39 = (uint)local_f4 % (uint)ppppppuVar31;" (assignment_expression "uVar39 = (uint)local_f4 % (uint)ppppppuVar31" identifier = (binary_expression "(uint)local_f4 % (uint)ppppppuVar31" (cast_expression "(uint)local_f4" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_f4;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_f4" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89cef;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89cef" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "piVar13 = (int *)FUN_0004df50();" (assignment_expression "piVar13 = (int *)FUN_0004df50()" identifier = (cast_expression "(int *)FUN_0004df50()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004df50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" if (parenthesized_expression "((piVar13 == (int *)0x0) || (*piVar13 == 0))" ( (binary_expression "(piVar13 == (int *)0x0) || (*piVar13 == 0)" (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar13 == 0)" ( (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" * identifier) == number_literal) ))) )) (compound_statement "{\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }" { (expression_statement "local_12c = ((undefined4 *******)local_b4)[0x1a];" (assignment_expression "local_12c = ((undefined4 *******)local_b4)[0x1a]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1a]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x18)" * (cast_expression "(undefined4 *******)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19" (pointer_expression "*(undefined4 ********)(puVar36 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar36 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0x1c)" ( (binary_expression "puVar36 + -0x1c" identifier + number_literal) )))) = (binary_expression "(undefined4 *******)local_b4 + 0x19" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) (expression_statement "*(char **)(puVar36 + -0x20) = local_94;" (assignment_expression "*(char **)(puVar36 + -0x20) = local_94" (pointer_expression "*(char **)(puVar36 + -0x20)" * (cast_expression "(char **)(puVar36 + -0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x20)" ( (binary_expression "puVar36 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x24) = 0x89ddd;" (assignment_expression "*(undefined4 *)(puVar36 + -0x24) = 0x89ddd" (pointer_expression "*(undefined4 *)(puVar36 + -0x24)" * (cast_expression "(undefined4 *)(puVar36 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x24)" ( (binary_expression "puVar36 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0028d8d0();" (call_expression "FUN_0028d8d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_90;" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_90" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_90" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" if (parenthesized_expression "(local_94[0] == '\0')" ( (binary_expression "local_94[0] == '\0'" (subscript_expression "local_94[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }" { (expression_statement "local_12c = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "local_12c = ((undefined4 *******)local_b4)[0x15]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" else (compound_statement "{\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" { (if_statement "if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" if (parenthesized_expression "((undefined4 *******)local_90 == (undefined4 *******)0x1)" ( (binary_expression "(undefined4 *******)local_90 == (undefined4 *******)0x1" (cast_expression "(undefined4 *******)local_90" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }" { (expression_statement "((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;" (assignment_expression "((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[0x1b]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_138 = (undefined4 *******)local_b4 + 0x1b;" (assignment_expression "local_138 = (undefined4 *******)local_b4 + 0x1b" identifier = (binary_expression "(undefined4 *******)local_b4 + 0x1b" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) (expression_statement "local_12c = local_138;" (assignment_expression "local_12c = local_138" identifier = identifier) ;) }) (else_clause "else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" else (compound_statement "{\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" { (expression_statement "*(undefined4 *)(puVar36 + -8) = 0x89e0d;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0x89e0d" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_12c = (undefined4 ******)FUN_00053420();" (assignment_expression "local_12c = (undefined4 ******)FUN_00053420()" identifier = (cast_expression "(undefined4 ******)FUN_00053420()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00053420()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_138 = (undefined4 *******)local_b4 + 0x1b;" (assignment_expression "local_138 = (undefined4 *******)local_b4 + 0x1b" identifier = (binary_expression "(undefined4 *******)local_b4 + 0x1b" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) }))) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x17]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }" if (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }" { (expression_statement "local_134 = (undefined4 *******)local_b4 + 0x17;" (assignment_expression "local_134 = (undefined4 *******)local_b4 + 0x17" identifier = (binary_expression "(undefined4 *******)local_b4 + 0x17" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" identifier = number_literal) ;) (expression_statement "local_13c = local_a8;" (assignment_expression "local_13c = local_a8" identifier = identifier) ;) (do_statement "do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);" do (compound_statement "{\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    }" { (expression_statement "ppppppuVar33 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "ppppppuVar33 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ;) (expression_statement "uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;" (assignment_expression "uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc" identifier = (binary_expression "(uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc" (cast_expression "(uint)ppppppuVar31[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[6]" identifier [ number_literal ])) % (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);" (assignment_expression "pppppppuVar10 = (undefined4 *******)(local_12c + uVar39)" identifier = (cast_expression "(undefined4 *******)(local_12c + uVar39)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_12c + uVar39)" ( (binary_expression "local_12c + uVar39" identifier + identifier) )))) ;) (if_statement "if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" if (parenthesized_expression "(*pppppppuVar10 == (undefined4 ******)0x0)" ( (binary_expression "*pppppppuVar10 == (undefined4 ******)0x0" (pointer_expression "*pppppppuVar10" * identifier) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }" { (expression_statement "*ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "*ppppppuVar31 = ((undefined4 *******)local_b4)[0x17]" (pointer_expression "*ppppppuVar31" * identifier) = (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x17] = ppppppuVar31;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = ppppppuVar31" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "*pppppppuVar10 = local_134;" (assignment_expression "*pppppppuVar10 = local_134" (pointer_expression "*pppppppuVar10" * identifier) = identifier) ;) (if_statement "if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }" if (parenthesized_expression "(*ppppppuVar31 != (undefined4 *****)0x0)" ( (binary_expression "*ppppppuVar31 != (undefined4 *****)0x0" (pointer_expression "*ppppppuVar31" * identifier) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                          local_12c[local_130] = ppppppuVar31;\n                        }" { (expression_statement "local_12c[local_130] = ppppppuVar31;" (assignment_expression "local_12c[local_130] = ppppppuVar31" (subscript_expression "local_12c[local_130]" identifier [ identifier ]) = identifier) ;) })) }) (else_clause "else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" else (compound_statement "{\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" { (expression_statement "*ppppppuVar31 = **pppppppuVar10;" (assignment_expression "*ppppppuVar31 = **pppppppuVar10" (pointer_expression "*ppppppuVar31" * identifier) = (pointer_expression "**pppppppuVar10" * (pointer_expression "*pppppppuVar10" * identifier))) ;) (expression_statement "**pppppppuVar10 = ppppppuVar31;" (assignment_expression "**pppppppuVar10 = ppppppuVar31" (pointer_expression "**pppppppuVar10" * (pointer_expression "*pppppppuVar10" * identifier)) = identifier) ;) (expression_statement "uVar39 = local_130;" (assignment_expression "uVar39 = local_130" identifier = identifier) ;) }))) (expression_statement "local_130 = uVar39;" (assignment_expression "local_130 = uVar39" identifier = identifier) ;) (expression_statement "ppppppuVar31 = ppppppuVar33;" (assignment_expression "ppppppuVar31 = ppppppuVar33" identifier = identifier) ;) (expression_statement "local_140 = ppppppuVar11;" (assignment_expression "local_140 = ppppppuVar11" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppuVar33 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar33 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) })) (if_statement "if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }" if (parenthesized_expression "(((undefined4 *******)local_b4)[0x15] != local_138)" ( (binary_expression "((undefined4 *******)local_b4)[0x15] != local_138" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != identifier) )) (compound_statement "{\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" * (cast_expression "(undefined4 *******)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bccf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bccf" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;" (assignment_expression "((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc" (subscript_expression "((undefined4 *******)local_b4)[0x16]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "((undefined4 *******)local_b4)[0x15] = local_12c;" (assignment_expression "((undefined4 *******)local_b4)[0x15] = local_12c" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;" (assignment_expression "uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc" identifier = (binary_expression "(uint)local_f4 % (uint)(undefined4 *******)local_dc" (cast_expression "(uint)local_f4" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)))) ;) }))) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "unaff_EBX = (undefined4 *******)(uVar39 * 4);" (assignment_expression "unaff_EBX = (undefined4 *******)(uVar39 * 4)" identifier = (cast_expression "(undefined4 *******)(uVar39 * 4)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(uVar39 * 4)" ( (binary_expression "uVar39 * 4" identifier * number_literal) )))) ;) (expression_statement "ppppppuVar11[6] = local_f4;" (assignment_expression "ppppppuVar11[6] = local_f4" (subscript_expression "ppppppuVar11[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" if (parenthesized_expression "((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_12c[uVar39]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_12c[uVar39]" identifier [ identifier ])) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }" { (expression_statement "*ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "*ppppppuVar11 = ((undefined4 *******)local_b4)[0x17]" (pointer_expression "*ppppppuVar11" * identifier) = (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x17] = ppppppuVar11;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = ppppppuVar11" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = identifier) ;) (if_statement "if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" if (parenthesized_expression "(*ppppppuVar11 == (undefined4 *****)0x0)" ( (binary_expression "*ppppppuVar11 == (undefined4 *****)0x0" (pointer_expression "*ppppppuVar11" * identifier) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" else (compound_statement "{\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;" (assignment_expression "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11" (subscript_expression "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]]" identifier [ (binary_expression "(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]" (subscript_expression "(uint)(*ppppppuVar11)[6]" (call_expression "(uint)(*ppppppuVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*ppppppuVar11)" ( (pointer_expression "*ppppppuVar11" * identifier) ))) [ number_literal ]) % (subscript_expression "(uint)((undefined4 *******)local_b4)[0x16]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ])) ]) = identifier) ;) }))) (expression_statement "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;" (assignment_expression "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17" (pointer_expression "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31)" * (cast_expression "(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)unaff_EBX + (int)ppppppuVar31)" ( (binary_expression "(int)unaff_EBX + (int)ppppppuVar31" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (binary_expression "(undefined4 *******)local_b4 + 0x17" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal)) ;) }) (else_clause "else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" else (compound_statement "{\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" { (expression_statement "*ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];" (assignment_expression "*ppppppuVar11 = (undefined4 *****)*local_12c[uVar39]" (pointer_expression "*ppppppuVar11" * identifier) = (cast_expression "(undefined4 *****)*local_12c[uVar39]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*local_12c[uVar39]" * (subscript_expression "local_12c[uVar39]" identifier [ identifier ])))) ;) (expression_statement "*((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;" (assignment_expression "*((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11" (pointer_expression "*((undefined4 *******)local_b4)[0x15][uVar39]" * (subscript_expression "((undefined4 *******)local_b4)[0x15][uVar39]" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ identifier ])) = identifier) ;) }))) (expression_statement "((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);" (assignment_expression "((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1)" (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0x18] + 1)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x18] + 1" (cast_expression "(int)((undefined4 *******)local_b4)[0x18]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) ;) (if_statement "if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" if (parenthesized_expression "(local_121 == false)" ( (binary_expression "local_121 == false" identifier == false) )) (compound_statement "{\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }" { (expression_statement "*(undefined4 *)(puVar36 + -8) = 0x8be14;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0x8be14" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar43 = FUN_00056b90();" (assignment_expression "uVar43 = FUN_00056b90()" identifier = (call_expression "FUN_00056b90()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppppuVar10[0x1e]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppuVar10[0x1e]" identifier [ number_literal ]))) ;) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);" (assignment_expression "pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" identifier = (cast_expression "(undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" ( (binary_expression "(0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]" (parenthesized_expression "(0x2000000U - (int)(undefined4 *******)local_dc)" ( (binary_expression "0x2000000U - (int)(undefined4 *******)local_dc" number_literal - (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) + (cast_expression "(int)ppppppuVar11[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar11[1]" identifier [ number_literal ]))) )))) ;) (expression_statement "uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];" (assignment_expression "uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5]" identifier = (binary_expression "(int)pppppuVar26 - (int)ppppppuVar11[5]" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar11[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ])))) ;) (expression_statement "unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));" (assignment_expression "unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" identifier = (cast_expression "(undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" ( (binary_expression "(int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43))" (cast_expression "(int)ppppppuVar11[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar11[2]" identifier [ number_literal ])) + (parenthesized_expression "(((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43))" ( (binary_expression "((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)" (parenthesized_expression "((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20))" ( (binary_expression "(((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)" (parenthesized_expression "(((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5]))" ( (binary_expression "((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])" (parenthesized_expression "((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       ))" ( (binary_expression "(uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" (cast_expression "(uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" identifier (argument_list "(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" ( (binary_expression "0x2000000U - (int)(undefined4 *******)local_dc" number_literal - (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)ppppppuVar11[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar11[1]" identifier [ number_literal ])) )))) - (call_expression "(uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" ( (binary_expression "(undefined4 *******)0x2000000 < (undefined4 *******)local_dc" (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) < (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) )) - (call_expression "(uint)(pppppuVar26 < ppppppuVar11[5])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppuVar26 < ppppppuVar11[5])" ( (binary_expression "pppppuVar26 < ppppppuVar11[5]" identifier < (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ])) )))) )) - (cast_expression "(int)((ulonglong)uVar43 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar43 >> 0x20)" ( (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) )) - (call_expression "(uint)(uVar39 < (uint)uVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 < (uint)uVar43)" ( (binary_expression "uVar39 < (uint)uVar43" identifier < (cast_expression "(uint)uVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ))) )))) ;) (if_statement "if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" if (parenthesized_expression "(unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX)" ( (binary_expression "unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX" (binary_expression "unaff_EBX == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) && (binary_expression "(uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX" (call_expression "(uint)(0x3ffffff < uVar39 - (uint)uVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffffff < uVar39 - (uint)uVar43)" ( (binary_expression "0x3ffffff < uVar39 - (uint)uVar43" number_literal < (binary_expression "uVar39 - (uint)uVar43" identifier - (cast_expression "(uint)uVar43" ( (type_descriptor "uint" type_identifier) ) identifier))) ))) <= (binary_expression "(uint)-(int)unaff_EBX" (parenthesized_expression "(uint)" ( identifier )) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)))) )) (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }" { (expression_statement "((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;" (assignment_expression "((undefined4 *******)local_b4)[0x1f] = local_e4 + 1" (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (binary_expression "local_e4 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" else (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" { (expression_statement "((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;" (assignment_expression "((undefined4 *******)local_b4)[0x1f] = local_e4 + 4" (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (binary_expression "local_e4 + 4" identifier + number_literal)) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar26 = ppppppuVar31[0x19];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x19]" identifier = (subscript_expression "ppppppuVar31[0x19]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = (undefined4 ******)((int)pppppuVar26 * 8);" (assignment_expression "local_38 = (undefined4 ******)((int)pppppuVar26 * 8)" identifier = (cast_expression "(undefined4 ******)((int)pppppuVar26 * 8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppuVar26 * 8)" ( (binary_expression "(int)pppppuVar26 * 8" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + 0x16" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar36 + -0x14) = local_9c;" (assignment_expression "*(undefined1 **)(puVar36 + -0x14) = local_9c" (pointer_expression "*(undefined1 **)(puVar36 + -0x14)" * (cast_expression "(undefined1 **)(puVar36 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_40 = local_10c;" (assignment_expression "local_40 = local_10c" identifier = identifier) ;) (expression_statement "local_3c = local_108;" (assignment_expression "local_3c = local_108" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8beab;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8beab" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" * (cast_expression "(undefined4 *)(puVar36 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x18)" ( (binary_expression "puVar36 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b09c0();" (call_expression "FUN_000b09c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -8;" (assignment_expression "puVar35 = puVar36 + -8" identifier = (binary_expression "puVar36 + -8" identifier + number_literal)) ;) }))) }) (else_clause "else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" else (compound_statement "{\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" { (expression_statement "*(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;" (assignment_expression "*(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1" (pointer_expression "*(undefined1 *)((undefined4 *******)local_b4 + 0x23)" * (cast_expression "(undefined1 *)((undefined4 *******)local_b4 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_b4 + 0x23)" ( (binary_expression "(undefined4 *******)local_b4 + 0x23" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) }))) }) (else_clause "else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" else (compound_statement "{\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89d13;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89d13" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" if (parenthesized_expression "(local_128 - 0xb < 3)" ( (binary_expression "local_128 - 0xb < 3" (binary_expression "local_128 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n                uVar39 = 0x8000;\n              }" { (expression_statement "uVar39 = 0x8000;" (assignment_expression "uVar39 = 0x8000" identifier = number_literal) ;) }) (else_clause "else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" else (compound_statement "{\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" { (if_statement "if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;" if (parenthesized_expression "(((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))" ( (binary_expression "((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17)" (parenthesized_expression "((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(local_128 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(local_128 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "local_128 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "local_128 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(local_128 != 0x17)" ( (binary_expression "local_128 != 0x17" identifier != number_literal) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "uVar39 = 0x2000000;" (assignment_expression "uVar39 = 0x2000000" identifier = number_literal) ;) }))) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) == number_literal) )) (compound_statement "{\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }" { (labeled_statement "LAB_0008c2e9:\n                ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478da" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x11b2;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x11b2" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c30a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c30a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x89d6b;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x89d6b" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_00056b90();" (assignment_expression "lVar44 = FUN_00056b90()" identifier = (call_expression "FUN_00056b90()" identifier (argument_list "()" ( )))) ;) (expression_statement "lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);" (assignment_expression "lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" identifier = (binary_expression "lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" identifier + (call_expression "CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" identifier (argument_list "((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" ( (binary_expression "(-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" (parenthesized_expression "(-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_)" ( (binary_expression "-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_" (unary_expression "-(uint)(local_e4 < (undefined4 *******)local_cc)" - (call_expression "(uint)(local_e4 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_e4 < (undefined4 *******)local_cc)" ( (binary_expression "local_e4 < (undefined4 *******)local_cc" identifier < (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) - (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) )) + (cast_expression "(uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" identifier (argument_list "((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" ( (binary_expression "(int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , identifier ))))) , (binary_expression "((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39" (parenthesized_expression "((int)local_e4 - (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)local_e4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) + identifier) ))))) ;) (expression_statement "unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);" (assignment_expression "unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20)" identifier = (cast_expression "(undefined4 *******)((ulonglong)lVar44 >> 0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }" if (parenthesized_expression "((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX)" ( (binary_expression "(undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX" (cast_expression "(undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(uint)((uint)lVar44 < uVar39 * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar44 < uVar39 * 2)" ( (binary_expression "(uint)lVar44 < uVar39 * 2" (cast_expression "(uint)lVar44" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "uVar39 * 2" identifier * number_literal)) )))) <= identifier) )) (compound_statement "{\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_c4;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_c4" identifier = (cast_expression "(undefined4 ******)*local_c4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_c4" * identifier))) ;) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" identifier = identifier) ;) (if_statement "if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;" if (parenthesized_expression "(ppppppuVar31[2] != (undefined4 *****)0x0)" ( (binary_expression "ppppppuVar31[2] != (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ]) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008a1d8;" goto statement_identifier ;)) (goto_statement "goto LAB_0008a2be;" goto statement_identifier ;) })) }))) })) }) (else_clause "else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" else (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }" { (expression_statement "ppppppuVar31 = pppppppuVar16[2];" (assignment_expression "ppppppuVar31 = pppppppuVar16[2]" identifier = (subscript_expression "pppppppuVar16[2]" identifier [ number_literal ])) ;) (if_statement "if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }" if (parenthesized_expression "(((uint)ppppppuVar31[0xb] & 1) == 0)" ( (binary_expression "((uint)ppppppuVar31[0xb] & 1) == 0" (parenthesized_expression "((uint)ppppppuVar31[0xb] & 1)" ( (binary_expression "(uint)ppppppuVar31[0xb] & 1" (cast_expression "(uint)ppppppuVar31[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }" { (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[5]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[5]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60))" ( (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)" identifier != (cast_expression "(undefined4 *******)(local_ac + -0xdbf60)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf60)" ( (binary_expression "local_ac + -0xdbf60" identifier + number_literal) )))) )) (compound_statement "{\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bd01;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bd01" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = (*(code *)pppppppuVar10)();" (assignment_expression "iVar19 = (*(code *)pppppppuVar10)()" identifier = (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar11;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar11" identifier = (cast_expression "(undefined4 *******)ppppppuVar11" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (iVar19 != 0) goto LAB_00089370;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 ********)(puVar36 + -4) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -4) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -4)" * (cast_expression "(undefined4 ********)(puVar36 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47797" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;" (assignment_expression "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2" (pointer_expression "*(int *)(puVar36 + -0x10)" * (cast_expression "(int *)(puVar36 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_ac + -0x11d0d2" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;" (assignment_expression "*(undefined **)(puVar36 + -0x14) = &UNK_0008bd35" (pointer_expression "*(undefined **)(puVar36 + -0x14)" * (cast_expression "(undefined **)(puVar36 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008bd35" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;" if (parenthesized_expression "(pppppppuVar16[3] != (undefined4 ******)0x0)" ( (binary_expression "pppppppuVar16[3] != (undefined4 ******)0x0" (subscript_expression "pppppppuVar16[3]" identifier [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00089b0f;" goto statement_identifier ;)) (expression_statement "unaff_EBX = (undefined4 *******)0x0;" (assignment_expression "unaff_EBX = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) })) }) (else_clause "else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" else (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" { (labeled_statement "LAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0xc)" * (cast_expression "(undefined4 ********)(puVar36 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89b2b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89b2b" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_001eb810();" (assignment_expression "lVar44 = FUN_001eb810()" identifier = (call_expression "FUN_001eb810()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_5c = lVar44;" (assignment_expression "local_5c = lVar44" identifier = identifier) ;) (if_statement "if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }" if (parenthesized_expression "((undefined4 *******)local_40 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_40 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }" { (expression_statement "local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);" (assignment_expression "local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" identifier = (binary_expression "lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" identifier + (call_expression "(ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" ( (binary_expression "1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc" (binary_expression "1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5)" number_literal << (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x29) >> 5)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x29) >> 5" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x29)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x29)" ( (binary_expression "(int)pppppppuVar16 + 0x29" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))) & number_literal) ))))) ;) (goto_statement "goto LAB_00089b5e;" goto statement_identifier ;) })) })))))) }) (else_clause "else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" else (compound_statement "{\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" { (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f]" identifier = (cast_expression "(undefined4 *******)ppppppuVar31[0x2f]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2f]" identifier [ number_literal ]))) ;) (expression_statement "uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];" (assignment_expression "uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c]" identifier = (binary_expression "(int)ppppppuVar11 - (int)ppppppuVar31[0x2c]" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar31[0x2c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x2c]" identifier [ number_literal ])))) ;) (if_statement "if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }" if (parenthesized_expression "((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39)" ( (binary_expression "(uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39" (call_expression "(uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2)" ( (binary_expression "(int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2" (binary_expression "(int)ppppppuVar31[0x30] - (int)unaff_EBX" (cast_expression "(int)ppppppuVar31[0x30]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x30]" identifier [ number_literal ])) - (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47737" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4746e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c096;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c096" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];" (assignment_expression "pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39]" identifier = (cast_expression "(undefined4 *******)unaff_EBX[uVar39]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "unaff_EBX[uVar39]" identifier [ identifier ]))) ;) (expression_statement "local_c4 = local_f8;" (assignment_expression "local_c4 = local_f8" identifier = identifier) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_f8)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_f8)[3]" identifier = (cast_expression "(undefined4 *****)(*local_f8)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_f8)[3]" (parenthesized_expression "(*local_f8)" ( (pointer_expression "*local_f8" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477ea" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x73;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x73" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;" (assignment_expression "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93" (pointer_expression "*(int *)(puVar36 + -0x10)" * (cast_expression "(int *)(puVar36 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_ac + -0x131d93" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c0b4" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_000899b9;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }" { (expression_statement "pppppppuVar10 = unaff_EBX;" (assignment_expression "pppppppuVar10 = unaff_EBX" identifier = identifier) ;) (if_statement "if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }" if (parenthesized_expression "(((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0))" ( (binary_expression "((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16)" ( (binary_expression "(undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16" (cast_expression "(undefined4 *******)pppppuVar26[0x2c]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2c]" identifier [ number_literal ])) == identifier) )) && (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ])) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (compound_statement "{\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }" { (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" identifier = (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ]))) ;) })) }) (else_clause "else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" else (compound_statement "{\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" { (expression_statement "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0xc)" * (cast_expression "(undefined4 ********)(puVar36 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" * (cast_expression "(undefined4 *)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a11a;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a11a" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar30 = (undefined4 *******)FUN_001e6f30();" (assignment_expression "pppppppuVar30 = (undefined4 *******)FUN_001e6f30()" identifier = (cast_expression "(undefined4 *******)FUN_001e6f30()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_001e6f30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" identifier = (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2d]" identifier [ number_literal ]))) ;) (if_statement "if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }" if (parenthesized_expression "((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0))" ( (binary_expression "(((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)" (parenthesized_expression "(((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0))" ( (binary_expression "((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30)" ( (binary_expression "(undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30" (cast_expression "(undefined4 *******)pppppuVar26[0x2c]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x2c]" identifier [ number_literal ])) != identifier) )) || (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) && (parenthesized_expression "(pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)" ( (comma_expression "pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0" (assignment_expression "pppppppuVar16 = pppppppuVar30" identifier = identifier) , (binary_expression "pppppppuVar30 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_000899d1;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];" statement_identifier : (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;)) (if_statement "if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }" if (parenthesized_expression "(((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd)" ( (binary_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd" (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff)" ( (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal) )) < number_literal) )) (compound_statement "{\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }" { (expression_statement "uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();" (assignment_expression "uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))()" identifier = (call_expression "(*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))()" (parenthesized_expression "(*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))" ( (pointer_expression "*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" * (cast_expression "(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" ( (binary_expression "(int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" identifier [ (binary_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43" (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff)" ( (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) & number_literal) )) - number_literal) ]))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar39;" return identifier ;) })) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }" if (parenthesized_expression "(((uint)pppppuVar26[2] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[2] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" ( (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar9 = 0x10;\n        }" { (expression_statement "uVar9 = 0x10;" (assignment_expression "uVar9 = 0x10" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0x10)" * (cast_expression "(undefined4 ********)(puVar36 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x892ab;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x892ab" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_000a7d80();" (assignment_expression "cVar7 = FUN_000a7d80()" identifier = (call_expression "FUN_000a7d80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') goto LAB_000899ee;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000899ee;" goto statement_identifier ;)) (if_statement "if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }" if (parenthesized_expression "(((uint)pppppuVar26[2] & 2) != 0)" ( (binary_expression "((uint)pppppuVar26[2] & 2) != 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" ( (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }" { (expression_statement "pppppuVar14 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }" if (parenthesized_expression "(pppppuVar14 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }" { (if_statement "if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;" if (parenthesized_expression "((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)((int)pppppuVar14 + 0x1a25) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar14 + 0x1a25) != '\0'" (pointer_expression "*(char *)((int)pppppuVar14 + 0x1a25)" * (cast_expression "(char *)((int)pppppuVar14 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x1a25)" ( (binary_expression "(int)pppppuVar14 + 0x1a25" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)((int)pppppuVar14 + 0x2931) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar14 + 0x2931) != '\0'" (pointer_expression "*(char *)((int)pppppuVar14 + 0x2931)" * (cast_expression "(char *)((int)pppppuVar14 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x2931)" ( (binary_expression "(int)pppppuVar14 + 0x2931" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00089ed0;" goto statement_identifier ;)) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x89306;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x89306" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00051ac0();" (assignment_expression "uVar9 = FUN_00051ac0()" identifier = (call_expression "FUN_00051ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((char)uVar9 != '\0') goto LAB_00089ed0;" if (parenthesized_expression "((char)uVar9 != '\0')" ( (binary_expression "(char)uVar9 != '\0'" (cast_expression "(char)uVar9" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00089ed0;" goto statement_identifier ;)) (expression_statement "ppppuVar17 = pppppuVar26[10];" (assignment_expression "ppppuVar17 = pppppuVar26[10]" identifier = (subscript_expression "pppppuVar26[10]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0x0)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0x0" identifier == (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477b1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x3a3;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x3a3" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4745f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c3f9" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" if (parenthesized_expression "(*(char *)(pppppuVar14 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar14 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar14 + 0xac7)" * (cast_expression "(char *)(pppppuVar14 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar14 + 0xac7)" ( (binary_expression "pppppuVar14 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }" { (expression_statement "uVar39 = 0xffffffe0;" (assignment_expression "uVar39 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" else (compound_statement "{\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" { (expression_statement "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar14[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar14[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar14[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar14[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar14[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar39 = -iVar19;" (assignment_expression "uVar39 = -iVar19" identifier = (unary_expression "-iVar19" - identifier)) ;) }))) (expression_statement "unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);" (assignment_expression "unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" identifier = (cast_expression "(undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" ( (binary_expression "(int)ppppuVar17[0x14] + iVar19 + -1 & uVar39" (binary_expression "(int)ppppuVar17[0x14] + iVar19 + -1" (binary_expression "(int)ppppuVar17[0x14] + iVar19" (cast_expression "(int)ppppuVar17[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar17[0x14]" identifier [ number_literal ])) + identifier) + number_literal) & identifier) )))) ;) (expression_statement "*(undefined4 ********)(puVar36 + -4) = &local_40;" (assignment_expression "*(undefined4 ********)(puVar36 + -4) = &local_40" (pointer_expression "*(undefined4 ********)(puVar36 + -4)" * (cast_expression "(undefined4 ********)(puVar36 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar36 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -8)" * (cast_expression "(undefined4 *)(puVar36 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;" (assignment_expression "*(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc" (pointer_expression "*(undefined4 *****)(puVar36 + -0xc)" * (cast_expression "(undefined4 *****)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = (binary_expression "ppppuVar17 + 0xc" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar36 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar36 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar36 + -0x10)" * (cast_expression "(undefined1 **)(puVar36 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89359;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89359" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_40 = pppppppuVar16;" (assignment_expression "local_40 = pppppppuVar16" identifier = identifier) ;) (expression_statement "local_3c = unaff_EBX;" (assignment_expression "local_3c = unaff_EBX" identifier = identifier) ;) (expression_statement "FUN_000b03a0();" (call_expression "FUN_000b03a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) (if_statement "if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }" if (parenthesized_expression "(local_80 != '\0')" ( (binary_expression "local_80 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }" { (expression_statement "ppppuVar17[0x14] = unaff_EBX + 4;" (assignment_expression "ppppuVar17[0x14] = unaff_EBX + 4" (subscript_expression "ppppuVar17[0x14]" identifier [ number_literal ]) = (binary_expression "unaff_EBX + 4" identifier + number_literal)) ;) (expression_statement "unaff_EBX = unaff_EBX + 4;" (assignment_expression "unaff_EBX = unaff_EBX + 4" identifier = (binary_expression "unaff_EBX + 4" identifier + number_literal)) ;) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" identifier = (binary_expression "puVar36 + -4" identifier + number_literal)) ;) })) (goto_statement "goto LAB_00089370;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008c0b4;" goto statement_identifier ;) })) (labeled_statement "LAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;" statement_identifier : (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;)) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_fc;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_fc" identifier = (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }" if (parenthesized_expression "((undefined4 *******)local_fc == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_fc == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_fc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }" { (if_statement "if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }" if (parenthesized_expression "(ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2))" ( (binary_expression "ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" identifier < (cast_expression "(undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" ( (binary_expression "(int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2" (binary_expression "(int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69]" (cast_expression "(int)ppppppuVar31[0x6a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x6a]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31[0x69]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x69]" identifier [ number_literal ]))) >> number_literal) )))) )) (compound_statement "{\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }" { (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[3]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[3]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[3]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c3f9;" goto statement_identifier ;)) (expression_statement "ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];" (assignment_expression "ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11]" identifier = (subscript_expression "ppppppuVar31[0x69][(int)ppppppuVar11]" (subscript_expression "ppppppuVar31[0x69]" identifier [ number_literal ]) [ (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (if_statement "if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;" if (parenthesized_expression "((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0))" ( (binary_expression "(ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)" (parenthesized_expression "(ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2))" ( (binary_expression "ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" identifier < (cast_expression "(undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" ( (binary_expression "(int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2" (binary_expression "(int)pppppuVar26[0x14] - (int)pppppuVar26[0x13]" (cast_expression "(int)pppppuVar26[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x14]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar26[0x13]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x13]" identifier [ number_literal ]))) >> number_literal) )))) )) && (parenthesized_expression "(local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)" ( (comma_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[0x13][(int)ppppuVar17]" (subscript_expression "pppppuVar26[0x13]" identifier [ number_literal ]) [ (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) ]))) , (comma_expression "pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)))) ))) )) (goto_statement "goto LAB_00089eef;" goto statement_identifier ;)) })) (expression_statement "pppppppuVar10 = (undefined4 *******)local_110;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_110" identifier = (cast_expression "(undefined4 *******)local_110" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;" if (parenthesized_expression "((undefined4 *******)local_110 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_110 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_110" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0008c270;" goto statement_identifier ;)) })) (labeled_statement "LAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;" statement_identifier : (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "pppppuVar26 = ppppppuVar31[0x21];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x21]" identifier = (subscript_expression "ppppppuVar31[0x21]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;" if (parenthesized_expression "((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)" ( (binary_expression "(undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11" (cast_expression "(undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3)" ( (binary_expression "(int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)ppppppuVar31[0x22] - (int)pppppuVar26" (cast_expression "(int)ppppppuVar31[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0x22]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008bf9d;" goto statement_identifier ;)) (expression_statement "local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];" (assignment_expression "local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2]" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar11 * 2]" identifier [ (binary_expression "(int)ppppppuVar11 * 2" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]))) ;) (expression_statement "local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];" (assignment_expression "local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1]" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppuVar26[(int)ppppppuVar11 * 2 + 1]" identifier [ (binary_expression "(int)ppppppuVar11 * 2 + 1" (binary_expression "(int)ppppppuVar11 * 2" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]))) ;) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) != number_literal) )) (compound_statement "{\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }" { (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x18]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[0x18]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xdb9ec)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdb9ec)" ( (binary_expression "local_ac + -0xdb9ec" identifier + number_literal) )))) )) (compound_statement "{\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }" { (if_statement "if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;" if (parenthesized_expression "((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11)" ( (binary_expression "(undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11" (cast_expression "(undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2)" ( (binary_expression "(int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2" (binary_expression "(int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe]" (cast_expression "(int)ppppppuVar31[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0xf]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[0xe]" identifier [ number_literal ]))) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0008c314;" goto statement_identifier ;)) (expression_statement "ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];" (assignment_expression "ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11]" identifier = (subscript_expression "ppppppuVar31[0xe][(int)ppppppuVar11]" (subscript_expression "ppppppuVar31[0xe]" identifier [ number_literal ]) [ (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) }) (else_clause "else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" else (compound_statement "{\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" { (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" * (cast_expression "(undefined4 *******)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a707;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a707" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();" (assignment_expression "ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)()" identifier = (cast_expression "(undefined4 ****)(*(code *)pppppppuVar10)()" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (if_statement "if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)ppppuVar17[7] & 1) == 0)" ( (binary_expression "((uint)ppppuVar17[7] & 1) == 0" (parenthesized_expression "((uint)ppppuVar17[7] & 1)" ( (binary_expression "(uint)ppppuVar17[7] & 1" (cast_expression "(uint)ppppuVar17[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar17[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }" { (labeled_statement "LAB_0008bf5b:\n            ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf7c" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);" (assignment_expression "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" identifier = (call_expression "CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" identifier (argument_list "((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" ( (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)local_a8[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[2]" identifier [ number_literal ])) )))) ;) (expression_statement "puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);" (assignment_expression "puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2])" identifier = (cast_expression "(undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(undefined4 *******)local_cc + (int)local_a8[2])" ( (binary_expression "(int)(undefined4 *******)local_cc + (int)local_a8[2]" (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1])" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(puVar23 + (int)ppppuVar17[1])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar23 + (int)ppppuVar17[1])" ( (binary_expression "puVar23 + (int)ppppuVar17[1]" identifier + (cast_expression "(int)ppppuVar17[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar17[1]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);" (assignment_expression "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" ( (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41" (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1])" (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2]" (cast_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_cc._4_4_ + (int)local_a8[3])" ( (binary_expression "(int)local_cc._4_4_ + (int)local_a8[3]" (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) + (cast_expression "(int)local_a8[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[3]" identifier [ number_literal ]))) ))) + (cast_expression "(int)ppppuVar17[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar17[2]" identifier [ number_literal ]))) + (cast_expression "(uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)puVar23,(uint)ppppuVar17[1])" identifier (argument_list "((uint)puVar23,(uint)ppppuVar17[1])" ( (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)ppppuVar17[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar17[1]" identifier [ number_literal ])) ))))) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (expression_statement "local_10c = (undefined4 ******)local_a8[6];" (assignment_expression "local_10c = (undefined4 ******)local_a8[6]" identifier = (cast_expression "(undefined4 ******)local_a8[6]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[6]" identifier [ number_literal ]))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_a8[7];" (assignment_expression "unaff_EBX = (undefined4 *******)local_a8[7]" identifier = (cast_expression "(undefined4 *******)local_a8[7]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[7]" identifier [ number_literal ]))) ;) (expression_statement "local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;" (assignment_expression "local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" identifier (argument_list "(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" ( (field_expression "local_e4._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)((int)local_a8 + 0x13)" * (cast_expression "(undefined1 *)((int)local_a8 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_a8 + 0x13)" ( (binary_expression "(int)local_a8 + 0x13" (cast_expression "(int)local_a8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d]" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((undefined4 *******)local_b4)[0x1d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) ;) (expression_statement "uVar39 = (uint)local_a8[4] & 0x7fffffff;" (assignment_expression "uVar39 = (uint)local_a8[4] & 0x7fffffff" identifier = (binary_expression "(uint)local_a8[4] & 0x7fffffff" (cast_expression "(uint)local_a8[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[4]" identifier [ number_literal ])) & number_literal)) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x11]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x11]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "puVar38 = puVar36;" (assignment_expression "puVar38 = puVar36" identifier = identifier) ;) (expression_statement "local_108 = unaff_EBX;" (assignment_expression "local_108 = unaff_EBX" identifier = identifier) ;) (expression_statement "local_38 = local_10c;" (assignment_expression "local_38 = local_10c" identifier = identifier) ;) (expression_statement "local_34 = unaff_EBX;" (assignment_expression "local_34 = unaff_EBX" identifier = identifier) ;) (expression_statement "local_2c = (undefined4 *******)local_dc;" (assignment_expression "local_2c = (undefined4 *******)local_dc" identifier = (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" if (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }" { (expression_statement "local_f4 = (undefined4 ******)local_a8[5];" (assignment_expression "local_f4 = (undefined4 ******)local_a8[5]" identifier = (cast_expression "(undefined4 ******)local_a8[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[5]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)*local_a8;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*local_a8" identifier = (cast_expression "(undefined4 *******)*local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_40 = (undefined4 *******)0x0;" (assignment_expression "local_40 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);" (assignment_expression "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" identifier = (cast_expression "(undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppppuVar31 & 0x3fffffff)" ( (binary_expression "(uint)ppppppuVar31 & 0x3fffffff" (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a382;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a382" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_3c = pppppppuVar10;" (assignment_expression "local_3c = pppppppuVar10" identifier = identifier) ;) (expression_statement "local_30 = local_f4;" (assignment_expression "local_30 = local_f4" identifier = identifier) ;) (expression_statement "FUN_000553c0();" (call_expression "FUN_000553c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)local_8c;" (assignment_expression "unaff_EBX = (undefined4 *******)local_8c" identifier = (cast_expression "(undefined4 *******)local_8c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }" if (parenthesized_expression "(local_88 != '\0')" ( (binary_expression "local_88 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8adcd;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8adcd" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_00065740();" (assignment_expression "iVar19 = FUN_00065740()" identifier = (call_expression "FUN_00065740()" identifier (argument_list "()" ( )))) ;) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + iVar19)" ( (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + identifier) )))) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c376;" goto statement_identifier ;)) (if_statement "if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" if (parenthesized_expression "(*(char *)(pppppuVar26 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xac7)" * (cast_expression "(char *)(pppppuVar26 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0xac7)" ( (binary_expression "pppppuVar26 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }" { (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar22 = 0x20;" (assignment_expression "iVar22 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" else (compound_statement "{\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" { (expression_statement "iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);" (assignment_expression "iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar26[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar26[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar26[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar26[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar26[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar20 = -iVar22;" (assignment_expression "uVar20 = -iVar22" identifier = (unary_expression "-iVar22" - identifier)) ;) }))) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" ( (binary_expression "(uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20" (call_expression "(uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1)" ( (binary_expression "(int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1" (binary_expression "(int)(undefined4 *******)local_dc + iVar19 + iVar22" (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + identifier) + identifier) + number_literal) ))) & identifier) )))) ;) (if_statement "if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }" if (parenthesized_expression "(((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0))" ( (binary_expression "((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)" (parenthesized_expression "((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0'))" ( (binary_expression "(((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')" (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0)" ( (binary_expression "((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[0xd][2] & 2)" ( (binary_expression "(uint)((undefined4 *******)local_b4)[0xd][2] & 2" (subscript_expression "(uint)((undefined4 *******)local_b4)[0xd][2]" (subscript_expression "(uint)((undefined4 *******)local_b4)[0xd]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')" ( (binary_expression "*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0'" (pointer_expression "*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" * (cast_expression "(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9d" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)" ( (binary_expression "(*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0" (parenthesized_expression "(*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0)" ( (binary_expression "*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0" (pointer_expression "*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c])" * (cast_expression "(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + (int)pppppppuVar10[0x6c])" ( (binary_expression "(int)local_f4 + (int)pppppppuVar10[0x6c]" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar10[0x6c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0x6c]" identifier [ number_literal ]))) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }" { (expression_statement "ppppppuVar31 = pppppppuVar10[0x37];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0x37]" identifier = (subscript_expression "pppppppuVar10[0x37]" identifier [ number_literal ])) ;) (if_statement "if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }" if (parenthesized_expression "((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4)" ( (binary_expression "(undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4" (cast_expression "(undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333)" ( (binary_expression "((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333" (parenthesized_expression "((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2)" ( (binary_expression "(int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2" (binary_expression "(int)pppppppuVar10[0x38] - (int)ppppppuVar31" (cast_expression "(int)pppppppuVar10[0x38]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0x38]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c26a;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c26a" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000538b0();" (call_expression "FUN_000538b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" * (cast_expression "(undefined4 *******)(puVar36 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -8)" ( (binary_expression "puVar36 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478d6" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xd24;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xd24" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" * (cast_expression "(undefined4 *)(puVar36 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0xc)" ( (binary_expression "puVar36 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4745f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c291;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c291" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);" (assignment_expression "bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" identifier = (pointer_expression "*(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" * (cast_expression "(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" ( (binary_expression "(int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb" (binary_expression "(int)ppppppuVar31 + (int)local_f4 * 0x14" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)local_f4 * 0x14" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (if_statement "if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }" if (parenthesized_expression "((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0))" ( (binary_expression "(((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)" (parenthesized_expression "(((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0))" ( (binary_expression "((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)" (parenthesized_expression "((bVar42 & 0x40) == 0)" ( (binary_expression "(bVar42 & 0x40) == 0" (parenthesized_expression "(bVar42 & 0x40)" ( (binary_expression "bVar42 & 0x40" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)" ( (binary_expression "((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0" (parenthesized_expression "((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff)" ( (binary_expression "(uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff" (cast_expression "(uint)ppppppuVar31[(int)local_f4 * 5 + 2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[(int)local_f4 * 5 + 2]" identifier [ (binary_expression "(int)local_f4 * 5 + 2" (binary_expression "(int)local_f4 * 5" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ])) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((bVar42 & 8) != 0)" ( (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }" { (expression_statement "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;" (assignment_expression "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;" (assignment_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1" (pointer_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" * (cast_expression "(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9f" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) = number_literal) ;) })) })) })) (if_statement "if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }" if (parenthesized_expression "((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f)))" ( (binary_expression "(-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))" (parenthesized_expression "(-1 < (char)local_e4)" ( (binary_expression "-1 < (char)local_e4" number_literal < (cast_expression "(char)local_e4" ( (type_descriptor "char" primitive_type) ) identifier)) )) && (parenthesized_expression "(-1 < *(char *)((int)unaff_EBX + 0x1f))" ( (binary_expression "-1 < *(char *)((int)unaff_EBX + 0x1f)" number_literal < (pointer_expression "*(char *)((int)unaff_EBX + 0x1f)" * (cast_expression "(char *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (compound_statement "{\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }" { (expression_statement "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;" (assignment_expression "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" * (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX + 0x1f)" ( (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) (if_statement "if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" if (parenthesized_expression "(uVar39 - 0xb < 3)" ( (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n            local_e4 = (undefined4 *******)0x8000;\n          }" { (expression_statement "local_e4 = (undefined4 *******)0x8000;" (assignment_expression "local_e4 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" else (compound_statement "{\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" { (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;" if (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17))" ( (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar39 != 0x17)" ( (binary_expression "uVar39 != 0x17" identifier != number_literal) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "local_e4 = (undefined4 *******)0x2000000;" (assignment_expression "local_e4 = (undefined4 *******)0x2000000" identifier = (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) == number_literal) )) (goto_statement "goto LAB_0008c2e9;" goto statement_identifier ;)) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }" { (labeled_statement "LAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;" statement_identifier : (expression_statement "*(undefined4 *)(puVar38 + -4) = 0x8c197;" (assignment_expression "*(undefined4 *)(puVar38 + -4) = 0x8c197" (pointer_expression "*(undefined4 *)(puVar38 + -4)" * (cast_expression "(undefined4 *)(puVar38 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -4)" ( (binary_expression "puVar38 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n            uVar39 = 0x20;\n          }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;" if (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[7] & 1) == 0)" ( (binary_expression "((uint)((undefined4 *******)local_b4)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[7] & 1)" ( (binary_expression "(uint)((undefined4 *******)local_b4)[7] & 1" (subscript_expression "(uint)((undefined4 *******)local_b4)[7]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008a0fd;" goto statement_identifier ;)) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (binary_expression "(uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)((undefined4 *******)local_b4)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" identifier = (cast_expression "(undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (binary_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23" (cast_expression "(int)((undefined4 *******)local_b4)[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x1c]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);" (assignment_expression "local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0)" identifier = (binary_expression "(uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0)" (call_expression "(uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1))" ( (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (cast_expression "(int)((undefined4 *******)local_b4)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" identifier (argument_list "((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (subscript_expression "(uint)((undefined4 *******)local_b4)[0x1c]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" identifier (argument_list "(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) ))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);" (assignment_expression "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX)" identifier = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)unaff_EBX)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)unaff_EBX" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);" (assignment_expression "iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" identifier = (binary_expression "local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" identifier + (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" identifier (argument_list "((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" ( (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)unaff_EBX" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "local_11c = unaff_EBX;" (assignment_expression "local_11c = unaff_EBX" identifier = identifier) ;) }) (else_clause "else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" else (compound_statement "{\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" { (expression_statement "local_3c = (undefined4 *******)0x0;" (assignment_expression "local_3c = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);" (assignment_expression "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" identifier = (cast_expression "(undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppppuVar31 & 0x3fffffff)" ( (binary_expression "(uint)ppppppuVar31 & 0x3fffffff" (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a02d;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a02d" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_f4 = ppppppuVar31;" (assignment_expression "local_f4 = ppppppuVar31" identifier = identifier) ;) (expression_statement "local_40 = pppppppuVar16;" (assignment_expression "local_40 = pppppppuVar16" identifier = identifier) ;) (expression_statement "FUN_000553c0();" (call_expression "FUN_000553c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_f4 = local_8c;" (assignment_expression "local_f4 = local_8c" identifier = identifier) ;) (if_statement "if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }" if (parenthesized_expression "(local_88 != '\0')" ( (binary_expression "local_88 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }" { (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a4b7;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a4b7" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_00065740();" (assignment_expression "iVar19 = FUN_00065740()" identifier = (call_expression "FUN_00065740()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppppppuVar11 = local_ac;" (assignment_expression "ppppppuVar11 = local_ac" identifier = identifier) ;) (expression_statement "pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);" (assignment_expression "pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (subscript_expression "pppppppuVar10[0x1d]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + iVar19)" ( (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + identifier) )))) ;) (expression_statement "ppppppuVar31 = pppppppuVar10[0xd];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0xd]" identifier = (subscript_expression "pppppppuVar10[0xd]" identifier [ number_literal ])) ;) (if_statement "if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }" if (parenthesized_expression "(((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2))" ( (binary_expression "((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)" (parenthesized_expression "((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                )" ( (binary_expression "(((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')" (parenthesized_expression "(((uint)ppppppuVar31[2] & 2) != 0)" ( (binary_expression "((uint)ppppppuVar31[2] & 2) != 0" (parenthesized_expression "((uint)ppppppuVar31[2] & 2)" ( (binary_expression "(uint)ppppppuVar31[2] & 2" (cast_expression "(uint)ppppppuVar31[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(char *)((int)ppppppuVar31 + 0x9d) != '\0')" ( (binary_expression "*(char *)((int)ppppppuVar31 + 0x9d) != '\0'" (pointer_expression "*(char *)((int)ppppppuVar31 + 0x9d)" * (cast_expression "(char *)((int)ppppppuVar31 + 0x9d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuVar31 + 0x9d)" ( (binary_expression "(int)ppppppuVar31 + 0x9d" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(((uint)pppppppuVar16[10] & 0xf) == 2)" ( (binary_expression "((uint)pppppppuVar16[10] & 0xf) == 2" (parenthesized_expression "((uint)pppppppuVar16[10] & 0xf)" ( (binary_expression "(uint)pppppppuVar16[10] & 0xf" (cast_expression "(uint)pppppppuVar16[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppuVar16[10]" identifier [ number_literal ])) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }" { (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }" { (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" if (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2b)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2b)" ( (binary_expression "(int)pppppppuVar16 + 0x2b" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }" { (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" * (cast_expression "(undefined4 *******)(puVar36 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar36 + -0x10)" ( (binary_expression "puVar36 + -0x10" identifier + number_literal) )))) = (subscript_expression "pppppppuVar16[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf3b" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" * (cast_expression "(undefined4 *)(puVar36 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -0x14)" ( (binary_expression "puVar36 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar42 = FUN_001e6ac0();" (assignment_expression "bVar42 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar42 = bVar42 ^ 1;" (assignment_expression "bVar42 = bVar42 ^ 1" identifier = (binary_expression "bVar42 ^ 1" identifier ^ number_literal)) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)ppppppuVar11;" (assignment_expression "pppppppuVar10 = (undefined4 *******)ppppppuVar11" identifier = (cast_expression "(undefined4 *******)ppppppuVar11" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" else (compound_statement "{\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" { (expression_statement "bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;" (assignment_expression "bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0" identifier = (binary_expression "pppppppuVar16[3] != (undefined4 ******)0x0" (subscript_expression "pppppppuVar16[3]" identifier [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ;) }))) }) (else_clause "else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" else (compound_statement "{\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" { (expression_statement "bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;" (assignment_expression "bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" identifier = (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" ( (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal)) ;) }))) (if_statement "if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" if (parenthesized_expression "(((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0))" ( (binary_expression "((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)" (parenthesized_expression "((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0))" ( (binary_expression "(bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)" (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)" ( (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0)" ( (binary_expression "*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x29)" * (cast_expression "(byte *)((int)pppppppuVar16 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar16 + 0x29)" ( (binary_expression "(int)pppppppuVar16 + 0x29" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((uint)pppppppuVar16[0xb] & 0x10) != 0)" ( (binary_expression "((uint)pppppppuVar16[0xb] & 0x10) != 0" (parenthesized_expression "((uint)pppppppuVar16[0xb] & 0x10)" ( (binary_expression "(uint)pppppppuVar16[0xb] & 0x10" (cast_expression "(uint)pppppppuVar16[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppuVar16[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" else (compound_statement "{\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" { (expression_statement "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;" (assignment_expression "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_f4 + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;" (assignment_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1" (pointer_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" * (cast_expression "(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9f" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }))) })) (if_statement "if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" if (parenthesized_expression "(((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16))))" ( (binary_expression "((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))" (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuVar31[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2d]" identifier [ number_literal ])) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "(((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))" ( (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16))" ( (binary_expression "(undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)" (binary_expression "(undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16" (cast_expression "(undefined4 *******)ppppppuVar31[0x2c]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2c]" identifier [ number_literal ])) != identifier) && (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)" ( (binary_expression "(undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16" (cast_expression "(undefined4 *******)ppppppuVar31[0x2d]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[0x2d]" identifier [ number_literal ])) != identifier) ))) )) ))) )) (compound_statement "{\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }" { (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) }) (else_clause "else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" else (compound_statement "{\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" { (expression_statement "*(undefined1 *)(ppppppuVar31 + 0x28) = 1;" (assignment_expression "*(undefined1 *)(ppppppuVar31 + 0x28) = 1" (pointer_expression "*(undefined1 *)(ppppppuVar31 + 0x28)" * (cast_expression "(undefined1 *)(ppppppuVar31 + 0x28)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 0x28)" ( (binary_expression "ppppppuVar31 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;" (assignment_expression "((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5" (subscript_expression "((undefined4 *******)local_b4)[0x25]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (binary_expression "ppppppuVar31 + -5" identifier + number_literal)) ;) }))) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }" { (labeled_statement "LAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;" statement_identifier : (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c37b;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c37b" (pointer_expression "*(undefined4 *)(puVar36 + -4)" * (cast_expression "(undefined4 *)(puVar36 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" if (parenthesized_expression "(*(char *)(pppppuVar26 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xac7)" * (cast_expression "(char *)(pppppuVar26 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0xac7)" ( (binary_expression "pppppuVar26 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }" { (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" else (compound_statement "{\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" { (expression_statement "iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar26[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar26[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar26[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar26[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar26[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar20 = -iVar19;" (assignment_expression "uVar20 = -iVar19" identifier = (unary_expression "-iVar19" - identifier)) ;) }))) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) = (cast_expression "(undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" ( (binary_expression "(uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20" (call_expression "(uint)((int)ppppppuVar31 + iVar19 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppuVar31 + iVar19 + -1)" ( (binary_expression "(int)ppppppuVar31 + iVar19 + -1" (binary_expression "(int)ppppppuVar31 + iVar19" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) & identifier) )))) ;) (expression_statement "unaff_EBX = pppppppuVar10;" (assignment_expression "unaff_EBX = pppppppuVar10" identifier = identifier) ;) })) (if_statement "if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }" if (parenthesized_expression "((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f)))" ( (binary_expression "(-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))" (parenthesized_expression "(-1 < (char)local_e4)" ( (binary_expression "-1 < (char)local_e4" number_literal < (cast_expression "(char)local_e4" ( (type_descriptor "char" primitive_type) ) identifier)) )) && (parenthesized_expression "(-1 < *(char *)((int)local_f4 + 0x1f))" ( (binary_expression "-1 < *(char *)((int)local_f4 + 0x1f)" number_literal < (pointer_expression "*(char *)((int)local_f4 + 0x1f)" * (cast_expression "(char *)((int)local_f4 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (compound_statement "{\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }" { (expression_statement "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;" (assignment_expression "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_f4 + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" * (cast_expression "(byte *)((int)local_f4 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f4 + 0x1f)" ( (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) (if_statement "if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" if (parenthesized_expression "(uVar39 - 0xb < 3)" ( (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" identifier - number_literal) < number_literal) )) (compound_statement "{\n            local_e4 = (undefined4 *******)0x8000;\n          }" { (expression_statement "local_e4 = (undefined4 *******)0x8000;" (assignment_expression "local_e4 = (undefined4 *******)0x8000" identifier = (cast_expression "(undefined4 *******)0x8000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" else (compound_statement "{\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" { (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;" if (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17))" ( (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" ( (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" ( (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" identifier + number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar39 != 0x17)" ( (binary_expression "uVar39 != 0x17" identifier != number_literal) ))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "local_e4 = (undefined4 *******)0x2000000;" (assignment_expression "local_e4 = (undefined4 *******)0x2000000" identifier = (cast_expression "(undefined4 *******)0x2000000" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }))) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;" if (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" ( (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" ( (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) & (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) == number_literal) )) (goto_statement "goto LAB_0008c2e9;" goto statement_identifier ;)) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008c192;" goto statement_identifier ;)) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n            uVar39 = 0x20;\n          }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }" if (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[7] & 1) == 0)" ( (binary_expression "((uint)((undefined4 *******)local_b4)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[7] & 1)" ( (binary_expression "(uint)((undefined4 *******)local_b4)[7] & 1" (subscript_expression "(uint)((undefined4 *******)local_b4)[7]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }" { (labeled_statement "LAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;" statement_identifier : (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "local_e0 = (undefined4 ****)0x0;" (assignment_expression "local_e0 = (undefined4 ****)0x0" identifier = (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "*(undefined **)(puVar36 + -4) = &UNK_0008a102;" (assignment_expression "*(undefined **)(puVar36 + -4) = &UNK_0008a102" (pointer_expression "*(undefined **)(puVar36 + -4)" * (cast_expression "(undefined **)(puVar36 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + -4)" ( (binary_expression "puVar36 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_0008a102" & identifier)) ;) (expression_statement "FUN_00052f10();" (call_expression "FUN_00052f10()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" ( (binary_expression "(uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)((undefined4 *******)local_b4)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));" (assignment_expression "unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" identifier = (cast_expression "(undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" ( (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1)" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (cast_expression "(int)((undefined4 *******)local_b4)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" identifier (argument_list "(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) )))) ;) (expression_statement "local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" identifier = (cast_expression "(undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" ( (binary_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" ( (binary_expression "(int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23" (cast_expression "(int)((undefined4 *******)local_b4)[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[0x1c]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);" (assignment_expression "local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0)" identifier = (binary_expression "(int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0)" (binary_expression "(int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (cast_expression "(int)unaff_EBX" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" identifier (argument_list "((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" ( (subscript_expression "(uint)((undefined4 *******)local_b4)[0x1c]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);" (assignment_expression "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104)" identifier = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)local_104)" ( (binary_expression "(int)(undefined4 *******)local_dc + (int)local_104" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_104" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);" (assignment_expression "iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" identifier = (binary_expression "local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" identifier + (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" identifier (argument_list "((uint)(undefined4 *******)local_dc,(uint)local_104)" ( (cast_expression "(uint)(undefined4 *******)local_dc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)local_104" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) }))) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" identifier = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;" if (parenthesized_expression "(((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2)))" ( (binary_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" (binary_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" (parenthesized_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))" ( (binary_expression "(iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc)" (parenthesized_expression "(iVar19 - (int)local_cc._4_4_)" ( (binary_expression "iVar19 - (int)local_cc._4_4_" identifier - (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)(pppppppuVar10 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppppuVar10 < (undefined4 *******)local_cc)" ( (binary_expression "pppppppuVar10 < (undefined4 *******)local_cc" identifier < (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) )) + (cast_expression "(uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" identifier (argument_list "((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" ( (binary_expression "(int)pppppppuVar10 - (int)(undefined4 *******)local_cc" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) , (cast_expression "(uint)local_e4" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) < (call_expression "(uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" ( (binary_expression "(uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2)" (call_expression "(uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))" ( (binary_expression "(int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc)" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pppppppuVar10 - (int)(undefined4 *******)local_cc)" ( (binary_expression "(int)pppppppuVar10 - (int)(undefined4 *******)local_cc" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))) ))) < (call_expression "(uint)((int)local_e4 * 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_e4 * 2)" ( (binary_expression "(int)local_e4 * 2" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) )))) )) (goto_statement "goto LAB_00089370;" goto statement_identifier ;)) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_c4;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_c4" identifier = (cast_expression "(undefined4 ******)*local_c4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_c4" * identifier))) ;) (labeled_statement "LAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;" statement_identifier : (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" identifier = identifier) ;) (if_statement "if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }" if (parenthesized_expression "(((uint)ppppppuVar31[5] & 0x40) != 0)" ( (binary_expression "((uint)ppppppuVar31[5] & 0x40) != 0" (parenthesized_expression "((uint)ppppppuVar31[5] & 0x40)" ( (binary_expression "(uint)ppppppuVar31[5] & 0x40" (cast_expression "(uint)ppppppuVar31[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }" { (expression_statement "pppppuVar26 = *ppppppuVar31;" (assignment_expression "pppppuVar26 = *ppppppuVar31" identifier = (pointer_expression "*ppppppuVar31" * identifier)) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xb]" identifier = (subscript_expression "((undefined4 *******)local_b4)[0xb]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar14 = *ppppppuVar31;" (assignment_expression "pppppuVar14 = *ppppppuVar31" identifier = (pointer_expression "*ppppppuVar31" * identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[0xc]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppuVar17 = pppppuVar14[0x10];" (assignment_expression "ppppuVar17 = pppppuVar14[0x10]" identifier = (subscript_expression "pppppuVar14[0x10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a1ff" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)ppppuVar17)();" (call_expression "(*(code *)ppppuVar17)()" (parenthesized_expression "(*(code *)ppppuVar17)" ( (pointer_expression "*(code *)ppppuVar17" * (cast_expression "(code *)ppppuVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = local_40;" (assignment_expression "ppppppuVar11 = local_40" identifier = identifier) ;) (expression_statement "pppppuVar14 = pppppppuVar10[0xb][1];" (assignment_expression "pppppuVar14 = pppppppuVar10[0xb][1]" identifier = (subscript_expression "pppppppuVar10[0xb][1]" (subscript_expression "pppppppuVar10[0xb]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[2]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[2]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_bc = (undefined4 ******)local_a8[1];" (assignment_expression "local_bc = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x10]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[0x10]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xd8af4)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xd8af4)" ( (binary_expression "local_ac + -0xd8af4" identifier + number_literal) )))) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + 0x24" identifier + number_literal)) ;) (expression_statement "*(undefined8 **)(puVar35 + -0x14) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar35 + -0x14) = &local_5c" (pointer_expression "*(undefined8 **)(puVar35 + -0x14)" * (cast_expression "(undefined8 **)(puVar35 + -0x14)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0x8a258;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0x8a258" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b1290();" (call_expression "FUN_000b1290()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" else (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(puVar35 + -0x14) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar35 + -0x14) = &local_5c" (pointer_expression "*(undefined8 **)(puVar35 + -0x14)" * (cast_expression "(undefined8 **)(puVar35 + -0x14)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0x8af32;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0x8af32" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x14) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar35 + -0x14)" * (cast_expression "(undefined4 ******)(puVar35 + -0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x20)" * (cast_expression "(undefined4 ******)(puVar35 + -0x20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228" (pointer_expression "*(undefined4 *******)(puVar35 + -0x24)" * (cast_expression "(undefined4 *******)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47228" identifier + number_literal)) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x28) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x28)" * (cast_expression "(undefined4 ******)(puVar35 + -0x28)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x2c) = 0x8a289;" (assignment_expression "*(undefined4 *)(puVar35 + -0x2c) = 0x8a289" (pointer_expression "*(undefined4 *)(puVar35 + -0x2c)" * (cast_expression "(undefined4 *)(puVar35 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000d1270();" (call_expression "FUN_000d1270()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }" if (parenthesized_expression "((undefined4 *******)local_5c != &local_54)" ( (binary_expression "(undefined4 *******)local_5c != &local_54" (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (pointer_expression "&local_54" & identifier)) )) (compound_statement "{\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }" { (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_5c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x8a29f" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "puVar36 = puVar35 + -8;" (assignment_expression "puVar36 = puVar35 + -8" identifier = (binary_expression "puVar35 + -8" identifier + number_literal)) ;) (if_statement "if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }" if (parenthesized_expression "((undefined4 *******)local_40 != &local_38)" ( (binary_expression "(undefined4 *******)local_40 != &local_38" (cast_expression "(undefined4 *******)local_40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (pointer_expression "&local_38" & identifier)) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x18) = local_40;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x18) = local_40" (pointer_expression "*(undefined4 *******)(puVar35 + -0x18)" * (cast_expression "(undefined4 *******)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" identifier = (cast_expression "(undefined4 *******)ppppppuVar31" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "puVar36 = puVar35 + -8;" (assignment_expression "puVar36 = puVar35 + -8" identifier = (binary_expression "puVar35 + -8" identifier + number_literal)) ;) })) })) (labeled_statement "LAB_0008a2be:\n        puVar35 = puVar36;" statement_identifier : (expression_statement "puVar35 = puVar36;" (assignment_expression "puVar35 = puVar36" identifier = identifier) ;)) (if_statement "if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }" if (parenthesized_expression "(*(char *)(param_1 + 0xa1) == '\0')" ( (binary_expression "*(char *)(param_1 + 0xa1) == '\0'" (pointer_expression "*(char *)(param_1 + 0xa1)" * (cast_expression "(char *)(param_1 + 0xa1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }" { (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" * (cast_expression "(undefined1 *)(param_1 + 0xa1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa1)" ( (binary_expression "param_1 + 0xa1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);" (assignment_expression "local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 ********)(param_1 + 0xa4)" * (cast_expression "(undefined4 ********)(param_1 + 0xa4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;" (assignment_expression "*(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1" (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) )))) = (binary_expression "(int)(undefined4 *******)local_b4 + 1" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + number_literal)) ;) (if_statement "if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }" if (parenthesized_expression "((int)(undefined4 *******)local_b4 + 1 < 3)" ( (binary_expression "(int)(undefined4 *******)local_b4 + 1 < 3" (binary_expression "(int)(undefined4 *******)local_b4 + 1" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + number_literal) < number_literal) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) })) }))) (labeled_statement "LAB_00089370:\n      local_a8 = local_a8 + 8;" statement_identifier : (expression_statement "local_a8 = local_a8 + 8;" (assignment_expression "local_a8 = local_a8 + 8" identifier = (binary_expression "local_a8 + 8" identifier + number_literal)) ;)) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" identifier = identifier) ;) }) while (parenthesized_expression "(*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8)" ( (binary_expression "*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8" (pointer_expression "*(undefined4 ********)(param_1 + 0x78)" * (cast_expression "(undefined4 ********)(param_1 + 0x78)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) != (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) ;) })) (expression_statement "local_f4 = *(undefined4 *******)(param_1 + 100);" (assignment_expression "local_f4 = *(undefined4 *******)(param_1 + 100)" identifier = (pointer_expression "*(undefined4 *******)(param_1 + 100)" * (cast_expression "(undefined4 *******)(param_1 + 100)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) ;) (expression_statement "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);" (assignment_expression "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_fc._1_3_,local_f4 != local_120)" identifier (argument_list "(local_fc._1_3_,local_f4 != local_120)" ( (field_expression "local_fc._1_3_" identifier . field_identifier) , (binary_expression "local_f4 != local_120" identifier != identifier) ))))) ;) (if_statement "if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }" if (parenthesized_expression "((undefined4 *******)local_f4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_f4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_f4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }" { (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8b9ca;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8b9ca" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0005c350();" (call_expression "FUN_0005c350()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }" if (parenthesized_expression "(local_f4 != local_120)" ( (binary_expression "local_f4 != local_120" identifier != identifier) )) (compound_statement "{\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }" { (expression_statement "unaff_EBX = *(undefined4 ********)(param_1 + 0x24);" (assignment_expression "unaff_EBX = *(undefined4 ********)(param_1 + 0x24)" identifier = (pointer_expression "*(undefined4 ********)(param_1 + 0x24)" * (cast_expression "(undefined4 ********)(param_1 + 0x24)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "bVar42 = *(byte *)(unaff_EBX + 7);" (assignment_expression "bVar42 = *(byte *)(unaff_EBX + 7)" identifier = (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (expression_statement "puVar37 = puVar35;" (assignment_expression "puVar37 = puVar35" identifier = identifier) ;) (if_statement "if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }" if (parenthesized_expression "((bVar42 & 8) != 0)" ( (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }" { (if_statement "if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }" if (parenthesized_expression "((bVar42 & 2) == 0)" ( (binary_expression "(bVar42 & 2) == 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }" { (expression_statement "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);" (assignment_expression "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4)" (subscript_expression "unaff_EBX[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_f4 << 4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_f4 << 4)" ( (binary_expression "(int)local_f4 << 4" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "unaff_EBX[4] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[4] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47840" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x218;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x218" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c35a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c35a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0008b9d8;" goto statement_identifier ;) })) (expression_statement "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);" (assignment_expression "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4)" (subscript_expression "unaff_EBX[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_f4 << 4)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_f4 << 4)" ( (binary_expression "(int)local_f4 << 4" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "unaff_EBX[4] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[4] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa | 2" (binary_expression "bVar42 & 0xfa" identifier & number_literal) | number_literal)) ;) (expression_statement "*(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;" (assignment_expression "*(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[8] + 0x92)" ( (binary_expression "(int)unaff_EBX[8] + 0x92" (cast_expression "(int)unaff_EBX[8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[8]" identifier [ number_literal ])) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX[8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[8] + 0x92)" ( (binary_expression "(int)unaff_EBX[8] + 0x92" (cast_expression "(int)unaff_EBX[8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[8]" identifier [ number_literal ])) + number_literal) )))) | number_literal)) ;) (expression_statement "ppppppuVar31 = unaff_EBX[0xb];" (assignment_expression "ppppppuVar31 = unaff_EBX[0xb]" identifier = (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ])) ;) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }" if (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }" { (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "bVar42 = *(byte *)(ppppppuVar31 + 7);" (assignment_expression "bVar42 = *(byte *)(ppppppuVar31 + 7)" identifier = (pointer_expression "*(byte *)(ppppppuVar31 + 7)" * (cast_expression "(byte *)(ppppppuVar31 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 7)" ( (binary_expression "ppppppuVar31 + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(ppppppuVar31 + 7)" * (cast_expression "(byte *)(ppppppuVar31 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 7)" ( (binary_expression "ppppppuVar31 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (expression_statement "local_a8 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "local_a8 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];" (assignment_expression "pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf]" identifier = (cast_expression "(undefined4 *******)((undefined4 *******)local_a8)[0xf]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "((undefined4 *******)local_a8)[0xf]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)local_f4 * 0x18)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_f4 * 0x18)" ( (binary_expression "(int)local_f4 * 0x18" (cast_expression "(int)local_f4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" if (parenthesized_expression "((bVar42 & 8) == 0)" ( (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }" { (expression_statement "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(ppppppuVar31 + 7)" * (cast_expression "(byte *)(ppppppuVar31 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 7)" ( (binary_expression "ppppppuVar31 + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xf8" identifier & number_literal)) ;) (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20))" ( (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)" identifier != (cast_expression "(undefined4 *******)(local_ac + -0xdbf20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf20)" ( (binary_expression "local_ac + -0xdbf20" identifier + number_literal) )))) )) (goto_statement "goto LAB_0008bb14;" goto statement_identifier ;)) }) (else_clause "else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" else (compound_statement "{\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" { (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }" if (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20))" ( (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)" identifier != (cast_expression "(undefined4 *******)(local_ac + -0xdbf20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf20)" ( (binary_expression "local_ac + -0xdbf20" identifier + number_literal) )))) )) (compound_statement "{\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }" { (labeled_statement "LAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8bb1a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar31 = unaff_EBX[0xb];" (assignment_expression "ppppppuVar31 = unaff_EBX[0xb]" identifier = (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ])) ;) })) (if_statement "if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }" if (parenthesized_expression "(((uint)ppppppuVar31[7] & 2) != 0)" ( (binary_expression "((uint)ppppppuVar31[7] & 2) != 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 2)" ( (binary_expression "(uint)ppppppuVar31[7] & 2" (cast_expression "(uint)ppppppuVar31[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_0008b9d8:\n          ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868" (pointer_expression "*(undefined4 *******)(puVar37 + -8)" * (cast_expression "(undefined4 *******)(puVar37 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar37 + -8)" ( (binary_expression "puVar37 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47868" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar37 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar37 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar37 + -0xc)" * (cast_expression "(undefined4 *)(puVar37 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + -0xc)" ( (binary_expression "puVar37 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar37 + -0x10)" * (cast_expression "(undefined4 *******)(puVar37 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar37 + -0x10)" ( (binary_expression "puVar37 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;" (assignment_expression "*(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9" (pointer_expression "*(undefined **)(puVar37 + -0x14)" * (cast_expression "(undefined **)(puVar37 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar37 + -0x14)" ( (binary_expression "puVar37 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b9f9" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a8 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "local_a8 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ;) }))) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "ppppppuVar31[3] = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31[3] = (undefined4 *******)local_b4" (subscript_expression "ppppppuVar31[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuVar31[4] = local_b4._4_4_;" (assignment_expression "ppppppuVar31[4] = local_b4._4_4_" (subscript_expression "ppppppuVar31[4]" identifier [ number_literal ]) = (field_expression "local_b4._4_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];" (assignment_expression "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe]" identifier = (cast_expression "(undefined4 ******)ppppppuVar11[0xe]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[0xe]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x89480;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x89480" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)ppppppuVar11)();" (call_expression "(*(code *)ppppppuVar11)()" (parenthesized_expression "(*(code *)ppppppuVar11)" ( (pointer_expression "*(code *)ppppppuVar11" * (cast_expression "(code *)ppppppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }" if (parenthesized_expression "(((uint)ppppppuVar31[7] & 2) == 0)" ( (binary_expression "((uint)ppppppuVar31[7] & 2) == 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 2)" ( (binary_expression "(uint)ppppppuVar31[7] & 2" (cast_expression "(uint)ppppppuVar31[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }" { (labeled_statement "LAB_0008c197:\n        ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478e2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c1b8" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;" (assignment_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[0xb][8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[0xb][8] + 0x92)" ( (binary_expression "(int)unaff_EBX[0xb][8] + 0x92" (cast_expression "(int)unaff_EBX[0xb][8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0xb][8]" (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ]) [ number_literal ])) + number_literal) )))) = (binary_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92)" * (cast_expression "(byte *)((int)unaff_EBX[0xb][8] + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_EBX[0xb][8] + 0x92)" ( (binary_expression "(int)unaff_EBX[0xb][8] + 0x92" (cast_expression "(int)unaff_EBX[0xb][8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0xb][8]" (subscript_expression "unaff_EBX[0xb]" identifier [ number_literal ]) [ number_literal ])) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "piVar13 = *(int **)(param_1 + 0x50);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x50)" identifier = (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);" (assignment_expression "pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9)" identifier = (cast_expression "(undefined4 *******)(local_ac + -0x474c9)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0x474c9)" ( (binary_expression "local_ac + -0x474c9" identifier + number_literal) )))) ;) (if_statement "if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }" if (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x4c))" ( (binary_expression "piVar13 != *(int **)(param_1 + 0x4c)" identifier != (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }" { (do_statement "do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );" do (compound_statement "{\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    }" { (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)piVar13[-1];" (assignment_expression "pppppppuVar10 = (undefined4 *******)piVar13[-1]" identifier = (cast_expression "(undefined4 *******)piVar13[-1]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "piVar13[-1]" identifier [ number_literal ]))) ;) (expression_statement "local_a8 = pppppppuVar10;" (assignment_expression "local_a8 = pppppppuVar10" identifier = identifier) ;) (if_statement "if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" if (parenthesized_expression "(pppppppuVar10[0x26] == (undefined4 ******)0x0)" ( (binary_expression "pppppppuVar10[0x26] == (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0x26]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" { (if_statement "if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;" if (parenthesized_expression "(*(int **)(param_1 + 0x4c) == piVar13 + -1)" ( (binary_expression "*(int **)(param_1 + 0x4c) == piVar13 + -1" (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) == (binary_expression "piVar13 + -1" identifier + number_literal)) )) (goto_statement "goto LAB_00089528;" goto statement_identifier ;)) }) (else_clause "else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" else (compound_statement "{\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" { (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26]" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (subscript_expression "pppppppuVar10[0x26]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "pppppppuVar10 + 0x27" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0xc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0xc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = param_5" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8950d;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8950d" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00107c70();" (call_expression "FUN_00107c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_a8[0x26] = (undefined4 ******)0x0;" (assignment_expression "local_a8[0x26] = (undefined4 ******)0x0" (subscript_expression "local_a8[0x26]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" identifier = (cast_expression "(undefined4 *******)ppppppuVar31" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;" if (parenthesized_expression "(*(int **)(param_1 + 0x4c) == piVar13 + -1)" ( (binary_expression "*(int **)(param_1 + 0x4c) == piVar13 + -1" (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) == (binary_expression "piVar13 + -1" identifier + number_literal)) )) (goto_statement "goto LAB_00089528;" goto statement_identifier ;)) }))) (expression_statement "piVar13 = piVar13 + -1;" (assignment_expression "piVar13 = piVar13 + -1" identifier = (binary_expression "piVar13 + -1" identifier + number_literal)) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_0008a784;" goto statement_identifier ;) (labeled_statement "LAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);" statement_identifier : (do_statement "do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);" do (compound_statement "{\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  }" { (expression_statement "unaff_EBX = (undefined4 *******)*piVar40;" (assignment_expression "unaff_EBX = (undefined4 *******)*piVar40" identifier = (cast_expression "(undefined4 *******)*piVar40" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*piVar40" * identifier))) ;) (expression_statement "ppppppuVar31 = unaff_EBX[8];" (assignment_expression "ppppppuVar31 = unaff_EBX[8]" identifier = (subscript_expression "unaff_EBX[8]" identifier [ number_literal ])) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar31)[3]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar31)[3]" (parenthesized_expression "(*ppppppuVar31)" ( (pointer_expression "*ppppppuVar31" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)local_bc)" ( (binary_expression "pppppppuVar10 == (undefined4 *******)local_bc" identifier == (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )) (compound_statement "{\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }" { (expression_statement "uVar43 = *(undefined8 *)(ppppppuVar31 + 9);" (assignment_expression "uVar43 = *(undefined8 *)(ppppppuVar31 + 9)" identifier = (pointer_expression "*(undefined8 *)(ppppppuVar31 + 9)" * (cast_expression "(undefined8 *)(ppppppuVar31 + 9)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar31 + 9)" ( (binary_expression "ppppppuVar31 + 9" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" else (compound_statement "{\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a776;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a776" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar43 = (*(code *)pppppppuVar10)();" (assignment_expression "uVar43 = (*(code *)pppppppuVar10)()" identifier = (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar39 = (uint)((ulonglong)uVar43 >> 0x20);" (assignment_expression "uVar39 = (uint)((ulonglong)uVar43 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar43 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar43 >> 0x20)" ( (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_a8 = (undefined4 ******)uVar43;" (assignment_expression "local_a8 = (undefined4 ******)uVar43" identifier = (cast_expression "(undefined4 ******)uVar43" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }" { (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c30f;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c30f" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));" (assignment_expression "pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" identifier = (cast_expression "(undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" ( (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) ))) )))) ;) (if_statement "if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" if (parenthesized_expression "(pppppppuVar10 < (undefined4 *******)0x20)" ( (binary_expression "pppppppuVar10 < (undefined4 *******)0x20" identifier < (cast_expression "(undefined4 *******)0x20" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }" { (if_statement "if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }" if (parenthesized_expression "(uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39)" ( (binary_expression "uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39" (binary_expression "uVar39 == 0" identifier == number_literal) && (binary_expression "(uint)((undefined4 *******)0x1f < local_a8) <= -uVar39" (call_expression "(uint)((undefined4 *******)0x1f < local_a8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)0x1f < local_a8)" ( (binary_expression "(undefined4 *******)0x1f < local_a8" (cast_expression "(undefined4 *******)0x1f" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) < identifier) ))) <= (unary_expression "-uVar39" - identifier))) )) (compound_statement "{\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }" { (expression_statement "ppppppuVar31[9] = (undefined4 *****)0x20;" (assignment_expression "ppppppuVar31[9] = (undefined4 *****)0x20" (subscript_expression "ppppppuVar31[9]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x20" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppuVar31[10] = (undefined4 *****)0x0;" (assignment_expression "ppppppuVar31[10] = (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[10]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)0x20;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)0x20" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x20" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (labeled_statement "LAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;" statement_identifier : (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "pppppuVar26 = ppppppuVar31[0x2b];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x2b]" identifier = (subscript_expression "ppppppuVar31[0x2b]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }" if (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }" { (expression_statement "pppppuVar26[1] = (undefined4 *******)local_b4;" (assignment_expression "pppppuVar26[1] = (undefined4 *******)local_b4" (subscript_expression "pppppuVar26[1]" identifier [ number_literal ]) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "pppppuVar26[2] = (undefined4 ****)0x0;" (assignment_expression "pppppuVar26[2] = (undefined4 ****)0x0" (subscript_expression "pppppuVar26[2]" identifier [ number_literal ]) = (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) })) })) }) (else_clause "else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" else (compound_statement "{\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" { (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }" if (parenthesized_expression "(uVar39 < (local_a8 < pppppppuVar10))" ( (binary_expression "uVar39 < (local_a8 < pppppppuVar10)" identifier < (parenthesized_expression "(local_a8 < pppppppuVar10)" ( (binary_expression "local_a8 < pppppppuVar10" identifier < identifier) ))) )) (compound_statement "{\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }" { (expression_statement "ppppppuVar31[9] = pppppppuVar10;" (assignment_expression "ppppppuVar31[9] = pppppppuVar10" (subscript_expression "ppppppuVar31[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[10] = (undefined4 *****)0x0;" (assignment_expression "ppppppuVar31[10] = (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[10]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (goto_statement "goto LAB_000897c9;" goto statement_identifier ;) })) }))) (if_statement "if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }" if (parenthesized_expression "((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20]))" ( (binary_expression "(unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])" (parenthesized_expression "(unaff_EBX[0x1e] != unaff_EBX[0x1d])" ( (binary_expression "unaff_EBX[0x1e] != unaff_EBX[0x1d]" (subscript_expression "unaff_EBX[0x1e]" identifier [ number_literal ]) != (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ])) )) || (parenthesized_expression "(unaff_EBX[0x1f] != unaff_EBX[0x20])" ( (binary_expression "unaff_EBX[0x1f] != unaff_EBX[0x20]" (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ]) != (subscript_expression "unaff_EBX[0x20]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }" { (expression_statement "unaff_EBX[0x20] = unaff_EBX[0x1f];" (assignment_expression "unaff_EBX[0x20] = unaff_EBX[0x1f]" (subscript_expression "unaff_EBX[0x20]" identifier [ number_literal ]) = (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ])) ;) (expression_statement "unaff_EBX[0x1e] = unaff_EBX[0x1d];" (assignment_expression "unaff_EBX[0x1e] = unaff_EBX[0x1d]" (subscript_expression "unaff_EBX[0x1e]" identifier [ number_literal ]) = (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ])) ;) (expression_statement "local_40 = *(undefined4 *******)(*piVar40 + 0x20);" (assignment_expression "local_40 = *(undefined4 *******)(*piVar40 + 0x20)" identifier = (pointer_expression "*(undefined4 *******)(*piVar40 + 0x20)" * (cast_expression "(undefined4 *******)(*piVar40 + 0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(*piVar40 + 0x20)" ( (binary_expression "*piVar40 + 0x20" (pointer_expression "*piVar40" * identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 ***)(puVar35 + -0x14) = local_68;" (assignment_expression "*(undefined8 ***)(puVar35 + -0x14) = local_68" (pointer_expression "*(undefined8 ***)(puVar35 + -0x14)" * (cast_expression "(undefined8 ***)(puVar35 + -0x14)" ( (type_descriptor "undefined8 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = &local_40;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = &local_40" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x1c) = local_10c;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x1c) = local_10c" (pointer_expression "*(undefined4 *******)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar35 + -0x20) = local_a4;" (assignment_expression "*(undefined1 **)(puVar35 + -0x20) = local_a4" (pointer_expression "*(undefined1 **)(puVar35 + -0x20)" * (cast_expression "(undefined1 **)(puVar35 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_68[0] = (undefined8 *)local_10c;" (assignment_expression "local_68[0] = (undefined8 *)local_10c" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined8 *)local_10c" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8972b;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8972b" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000abee0();" (call_expression "FUN_000abee0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);" (assignment_expression "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1)" identifier = (cast_expression "(undefined4 ******)CONCAT31(local_fc._1_3_,1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "CONCAT31(local_fc._1_3_,1)" identifier (argument_list "(local_fc._1_3_,1)" ( (field_expression "local_fc._1_3_" identifier . field_identifier) , number_literal ))))) ;) (expression_statement "puVar35 = puVar35 + -4;" (assignment_expression "puVar35 = puVar35 + -4" identifier = (binary_expression "puVar35 + -4" identifier + number_literal)) ;) })) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(param_1 + 0x50) != piVar40)" ( (binary_expression "*(int **)(param_1 + 0x50) != piVar40" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) ;)) (expression_statement "local_e4 = local_54;" (assignment_expression "local_e4 = local_54" identifier = identifier) ;) (if_statement "if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;" if (parenthesized_expression "((undefined4 *******)local_54 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_54 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_54" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0008a7bd;" goto statement_identifier ;)) (do_statement "do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);" do (compound_statement "{\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  }" { (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_bc = (undefined4 ******)local_e4[1];" (assignment_expression "local_bc = (undefined4 ******)local_e4[1]" identifier = (cast_expression "(undefined4 ******)local_e4[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_e4[1]" identifier [ number_literal ]))) ;) (expression_statement "local_a8 = ((undefined4 *******)local_bc)[0x1b];" (assignment_expression "local_a8 = ((undefined4 *******)local_bc)[0x1b]" identifier = (subscript_expression "((undefined4 *******)local_bc)[0x1b]" (parenthesized_expression "((undefined4 *******)local_bc)" ( (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "lVar44 = 0;" (assignment_expression "lVar44 = 0" identifier = number_literal) ;) (if_statement "if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }" if (parenthesized_expression "(local_a8 != ((undefined4 *******)local_bc)[0x1c])" ( (binary_expression "local_a8 != ((undefined4 *******)local_bc)[0x1c]" identifier != (subscript_expression "((undefined4 *******)local_bc)[0x1c]" (parenthesized_expression "((undefined4 *******)local_bc)" ( (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) )) (compound_statement "{\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }" { (do_statement "do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);" do (compound_statement "{\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      }" { (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (if_statement "if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" if (parenthesized_expression "((undefined4 ******)local_a8[1] == (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_a8[1] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ])) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }" { (if_statement "if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }" if (parenthesized_expression "((undefined4 ******)0xfffffffb < ppppppuVar31)" ( (binary_expression "(undefined4 ******)0xfffffffb < ppppppuVar31" (cast_expression "(undefined4 ******)0xfffffffb" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) < identifier) )) (compound_statement "{\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }" { (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[4];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[4]" identifier = (cast_expression "(undefined4 ******)local_a8[4]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[4]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3]" identifier = (cast_expression "(undefined4 *******)(*ppppppuVar11)[3]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "(*ppppppuVar11)[3]" (parenthesized_expression "(*ppppppuVar11)" ( (pointer_expression "*ppppppuVar11" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" if (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c))" ( (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)" identifier == (cast_expression "(undefined4 *******)(local_ac + -0xdbf0c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0xdbf0c)" ( (binary_expression "local_ac + -0xdbf0c" identifier + number_literal) )))) )) (compound_statement "{\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }" { (expression_statement "lVar45 = *(longlong *)(ppppppuVar11 + 9);" (assignment_expression "lVar45 = *(longlong *)(ppppppuVar11 + 9)" identifier = (pointer_expression "*(longlong *)(ppppppuVar11 + 9)" * (cast_expression "(longlong *)(ppppppuVar11 + 9)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar11 + 9)" ( (binary_expression "ppppppuVar11 + 9" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" else (compound_statement "{\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ad8e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar45 = (*(code *)pppppppuVar10)();" (assignment_expression "lVar45 = (*(code *)pppppppuVar10)()" identifier = (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" ( (pointer_expression "*(code *)pppppppuVar10" * (cast_expression "(code *)pppppppuVar10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" identifier = (cast_expression "(undefined4 ******)*local_a8" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_a8" * identifier))) ;) }))) (goto_statement "goto LAB_0008aa09;" goto statement_identifier ;) })) (labeled_statement "LAB_0008aab8:\n          ppppppuVar31 = local_a8;" statement_identifier : (expression_statement "ppppppuVar31 = local_a8;" (assignment_expression "ppppppuVar31 = local_a8" identifier = identifier) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aacd;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aacd" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (expression_statement "piVar13 = (int *)FUN_0015c600();" (assignment_expression "piVar13 = (int *)FUN_0015c600()" identifier = (cast_expression "(int *)FUN_0015c600()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015c600()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aadd;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aadd" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_0015c690();" (assignment_expression "uVar9 = FUN_0015c690()" identifier = (call_expression "FUN_0015c690()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "*(longlong *)(puVar35 + -8) = local_b4;" (assignment_expression "*(longlong *)(puVar35 + -8) = local_b4" (pointer_expression "*(longlong *)(puVar35 + -8)" * (cast_expression "(longlong *)(puVar35 + -8)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar35 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar35 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar35 + -0x10)" * (cast_expression "(int **)(puVar35 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar3 = *(code **)(iVar19 + 0xdc);" (assignment_expression "pcVar3 = *(code **)(iVar19 + 0xdc)" identifier = (pointer_expression "*(code **)(iVar19 + 0xdc)" * (cast_expression "(code **)(iVar19 + 0xdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0xdc)" ( (binary_expression "iVar19 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aaf6" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;" if (parenthesized_expression "((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc)" ( (binary_expression "(undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc" (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier)) != (cast_expression "(undefined4 ******)0xfffffffc" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0008aa48;" goto statement_identifier ;)) (expression_statement "local_cc._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_cc._4_4_ = (undefined4 *****)0x0" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31[4];" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31[4]" identifier = (cast_expression "(undefined4 *******)ppppppuVar31[4]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "ppppppuVar31[4]" identifier [ number_literal ]))) ;) (expression_statement "local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);" (assignment_expression "local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c])" identifier = (binary_expression "local_b4 + ZEXT48(unaff_EBX[0x1c])" identifier + (call_expression "ZEXT48(unaff_EBX[0x1c])" identifier (argument_list "(unaff_EBX[0x1c])" ( (subscript_expression "unaff_EBX[0x1c]" identifier [ number_literal ]) ))))) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" ( (binary_expression "(int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]" (cast_expression "(int)unaff_EBX[0x1f]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0x1f]" identifier [ number_literal ])) + (cast_expression "(int)unaff_EBX[0x1d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0x1d]" identifier [ number_literal ]))) )))) ;) (if_statement "if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }" if (parenthesized_expression "(*(char *)(unaff_EBX + 0x23) != '\0')" ( (binary_expression "*(char *)(unaff_EBX + 0x23) != '\0'" (pointer_expression "*(char *)(unaff_EBX + 0x23)" * (cast_expression "(char *)(unaff_EBX + 0x23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x23)" ( (binary_expression "unaff_EBX + 0x23" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }" { (expression_statement "pppppuVar26 = unaff_EBX[0xd][0x2b];" (assignment_expression "pppppuVar26 = unaff_EBX[0xd][0x2b]" identifier = (subscript_expression "unaff_EBX[0xd][0x2b]" (subscript_expression "unaff_EBX[0xd]" identifier [ number_literal ]) [ number_literal ])) ;) (if_statement "if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }" if (parenthesized_expression "(((uint)pppppuVar26[7] & 2) == 0)" ( (binary_expression "((uint)pppppuVar26[7] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[7] & 2)" ( (binary_expression "(uint)pppppuVar26[7] & 2" (cast_expression "(uint)pppppuVar26[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47701" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c054;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c054" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);" (assignment_expression "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" identifier = (call_expression "CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" identifier (argument_list "((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" ( (cast_expression "(uint)(undefined4 *******)local_cc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)pppppuVar26[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ])) )))) ;) (expression_statement "local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);" (assignment_expression "local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" ( (binary_expression "(int)(undefined4 *******)local_cc + (int)pppppuVar26[3]" (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)pppppuVar26[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[3]" identifier [ number_literal ]))) )))) ;) (expression_statement "local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);" (assignment_expression "local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41)" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppuVar26[4] + (uint)bVar41)" ( (binary_expression "(int)pppppuVar26[4] + (uint)bVar41" (cast_expression "(int)pppppuVar26[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[4]" identifier [ number_literal ])) + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (if_statement "if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }" if (parenthesized_expression "(local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0)" ( (binary_expression "local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0" (binary_expression "local_cc._4_4_ != (undefined4 *****)0x0" (field_expression "local_cc._4_4_" identifier . field_identifier) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) || (binary_expression "(undefined4 *******)local_cc != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) (compound_statement "{\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }" { (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }" { (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c314;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c314" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n              uVar39 = 0x20;\n            }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (expression_statement "local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);" (assignment_expression "local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" identifier = (binary_expression "local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" identifier + (call_expression "CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" identifier (argument_list "((uVar39 != 0) - 1,uVar39 - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) , (binary_expression "uVar39 - 1" identifier - number_literal) ))))) ;) (expression_statement "local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);" (assignment_expression "local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" identifier = (call_expression "CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" identifier (argument_list "(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" ( (binary_expression "-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20)" (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))) & (call_expression "(uint)((ulonglong)local_dc >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)local_dc >> 0x20)" ( (binary_expression "(ulonglong)local_dc >> 0x20" (cast_expression "(ulonglong)local_dc" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) , (binary_expression "(uint)local_dc & -uVar39" (cast_expression "(uint)local_dc" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-uVar39" - identifier)) )))) ;) })) (expression_statement "lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);" (assignment_expression "lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" identifier = (binary_expression "local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" identifier + (call_expression "CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" identifier (argument_list "(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" ( (binary_expression "((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4)" (parenthesized_expression "((int)local_cc._4_4_ - (int)local_b4._4_4_)" ( (binary_expression "(int)local_cc._4_4_ - (int)local_b4._4_4_" (cast_expression "(int)local_cc._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_cc._4_4_" identifier . field_identifier)) - (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )) - (call_expression "(uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_cc < (undefined4 *******)local_b4)" ( (binary_expression "(undefined4 *******)local_cc < (undefined4 *******)local_b4" (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) < (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) )))) , (binary_expression "(int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4" (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) - (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ))))) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);" (assignment_expression "ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20)" identifier = (cast_expression "(undefined4 ******)((ulonglong)lVar44 >> 0x20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_cc = *(longlong *)(unaff_EBX + 0x21);" (assignment_expression "local_cc = *(longlong *)(unaff_EBX + 0x21)" identifier = (pointer_expression "*(longlong *)(unaff_EBX + 0x21)" * (cast_expression "(longlong *)(unaff_EBX + 0x21)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x21)" ( (binary_expression "unaff_EBX + 0x21" identifier + number_literal) ))))) ;) (if_statement "if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }" if (parenthesized_expression "(unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44))" ( (binary_expression "unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (binary_expression "unaff_EBX[0x22] < ppppppuVar31" (subscript_expression "unaff_EBX[0x22]" identifier [ number_literal ]) < identifier) || (binary_expression "(uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (call_expression "(uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_EBX[0x22] - (int)ppppppuVar31)" ( (binary_expression "(int)unaff_EBX[0x22] - (int)ppppppuVar31" (cast_expression "(int)unaff_EBX[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_EBX[0x22]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_EBX[0x21] < (undefined4 ******)lVar44)" ( (binary_expression "unaff_EBX[0x21] < (undefined4 ******)lVar44" (subscript_expression "unaff_EBX[0x21]" identifier [ number_literal ]) < (cast_expression "(undefined4 ******)lVar44" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ))))) )) (compound_statement "{\n            local_cc = lVar44;\n          }" { (expression_statement "local_cc = lVar44;" (assignment_expression "local_cc = lVar44" identifier = identifier) ;) })) (expression_statement "bVar42 = *(byte *)(unaff_EBX + 7);" (assignment_expression "bVar42 = *(byte *)(unaff_EBX + 7)" identifier = (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xfa" identifier & number_literal)) ;) (if_statement "if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" if (parenthesized_expression "((bVar42 & 8) == 0)" ( (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }" { (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "bVar42 & 0xf8" identifier & number_literal)) ;) }) (else_clause "else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" else (if_statement "if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" if (parenthesized_expression "((bVar42 & 2) != 0)" ( (binary_expression "(bVar42 & 2) != 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47868" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008acc9" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008acc9" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })))) (expression_statement "*(longlong *)(unaff_EBX + 3) = local_cc;" (assignment_expression "*(longlong *)(unaff_EBX + 3) = local_cc" (pointer_expression "*(longlong *)(unaff_EBX + 3)" * (cast_expression "(longlong *)(unaff_EBX + 3)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 3)" ( (binary_expression "unaff_EBX + 3" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)local_bc[7] & 4) == 0)" ( (binary_expression "((uint)local_bc[7] & 4) == 0" (parenthesized_expression "((uint)local_bc[7] & 4)" ( (binary_expression "(uint)local_bc[7] & 4" (cast_expression "(uint)local_bc[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_bc[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4784e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c075;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c075" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = (undefined4 ******)local_bc[5];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_bc[5]" identifier = (cast_expression "(undefined4 ******)local_bc[5]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[5]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_bc[6];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_bc[6]" identifier = (cast_expression "(undefined4 ******)local_bc[6]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[6]" identifier [ number_literal ]))) ;) (if_statement "if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)local_bc[7] & 1) == 0)" ( (binary_expression "((uint)local_bc[7] & 1) == 0" (parenthesized_expression "((uint)local_bc[7] & 1)" ( (binary_expression "(uint)local_bc[7] & 1" (cast_expression "(uint)local_bc[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_bc[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8bfdf" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar33 = (undefined4 ******)local_bc[1];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_bc[1]" identifier = (cast_expression "(undefined4 ******)local_bc[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar8 = (undefined4 ******)local_bc[1];" (assignment_expression "ppppppuVar8 = (undefined4 ******)local_bc[1]" identifier = (cast_expression "(undefined4 ******)local_bc[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppuVar29 = (undefined4 ******)local_bc[2];" (assignment_expression "ppppppuVar29 = (undefined4 ******)local_bc[2]" identifier = (cast_expression "(undefined4 ******)local_bc[2]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[2]" identifier [ number_literal ]))) ;) (expression_statement "unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);" (assignment_expression "unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5])" (subscript_expression "unaff_EBX[5]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)local_bc[5])" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)local_bc[5]" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)local_bc[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_bc[5]" identifier [ number_literal ]))) )))) ;) (expression_statement "ppppppuVar4 = *unaff_EBX;" (assignment_expression "ppppppuVar4 = *unaff_EBX" identifier = (pointer_expression "*unaff_EBX" * identifier)) ;) (expression_statement "unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);" (assignment_expression "unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" (subscript_expression "unaff_EBX[1]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" ( (binary_expression "(int)(undefined4 *******)local_b4 + (int)ppppppuVar8" (cast_expression "(int)(undefined4 *******)local_b4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + (cast_expression "(int)ppppppuVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);" (assignment_expression "unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" (subscript_expression "unaff_EBX[2]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" ( (binary_expression "(int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_" (binary_expression "(int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" (cast_expression "(int)ppppppuVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)ppppppuVar33" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )))) ;) (expression_statement "unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);" (assignment_expression "unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" (subscript_expression "unaff_EBX[6]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" ( (binary_expression "(int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_" (binary_expression "(int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" identifier (argument_list "((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" ( (cast_expression "(uint)(undefined4 *******)local_b4" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(int)local_b4._4_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_b4._4_4_" identifier . field_identifier))) )))) ;) (expression_statement "*(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;" (assignment_expression "*(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(unaff_EBX + 7) | 5" (pointer_expression "*(byte *)(unaff_EBX + 7)" * (cast_expression "(byte *)(unaff_EBX + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 7)" ( (binary_expression "unaff_EBX + 7" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppuVar26 = ppppppuVar4[0xe];" (assignment_expression "pppppuVar26 = ppppppuVar4[0xe]" identifier = (subscript_expression "ppppppuVar4[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ac5b" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppuVar26)();" (call_expression "(*(code *)pppppuVar26)()" (parenthesized_expression "(*(code *)pppppuVar26)" ( (pointer_expression "*(code *)pppppuVar26" * (cast_expression "(code *)pppppuVar26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x478e2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c033;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c033" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar44 = local_b4 + local_cc;" (assignment_expression "lVar44 = local_b4 + local_cc" identifier = (binary_expression "local_b4 + local_cc" identifier + identifier)) ;) (expression_statement "local_b4 = local_cc + local_b4;" (assignment_expression "local_b4 = local_cc + local_b4" identifier = (binary_expression "local_cc + local_b4" identifier + identifier)) ;) (if_statement "if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }" if (parenthesized_expression "(3 < param_2)" ( (binary_expression "3 < param_2" number_literal < identifier) )) (compound_statement "{\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }" { (expression_statement "*(longlong *)(unaff_EBX + 0x21) = local_cc;" (assignment_expression "*(longlong *)(unaff_EBX + 0x21) = local_cc" (pointer_expression "*(longlong *)(unaff_EBX + 0x21)" * (cast_expression "(longlong *)(unaff_EBX + 0x21)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBX + 0x21)" ( (binary_expression "unaff_EBX + 0x21" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) })) }) (else_clause "else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" else (compound_statement "{\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" { (expression_statement "puVar23 = (undefined *)((int)local_a8[1] + -1);" (assignment_expression "puVar23 = (undefined *)((int)local_a8[1] + -1)" identifier = (cast_expression "(undefined *)((int)local_a8[1] + -1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_a8[1] + -1)" ( (binary_expression "(int)local_a8[1] + -1" (cast_expression "(int)local_a8[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[1]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "bVar42 = (byte)puVar23;" (assignment_expression "bVar42 = (byte)puVar23" identifier = (cast_expression "(byte)puVar23" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "bVar41 = ((uint)puVar23 & 0x20) == 0;" (assignment_expression "bVar41 = ((uint)puVar23 & 0x20) == 0" identifier = (binary_expression "((uint)puVar23 & 0x20) == 0" (parenthesized_expression "((uint)puVar23 & 0x20)" ( (binary_expression "(uint)puVar23 & 0x20" (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal)) ;) (expression_statement "lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));" (assignment_expression "lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" identifier = (call_expression "CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" identifier (argument_list "((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" ( (binary_expression "(uint)!bVar41 << (bVar42 & 0x1f)" (cast_expression "(uint)!bVar41" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar41" ! identifier)) << (parenthesized_expression "(bVar42 & 0x1f)" ( (binary_expression "bVar42 & 0x1f" identifier & number_literal) ))) , (binary_expression "(uint)bVar41 << (bVar42 & 0x1f)" (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier) << (parenthesized_expression "(bVar42 & 0x1f)" ( (binary_expression "bVar42 & 0x1f" identifier & number_literal) ))) )))) ;) (labeled_statement "LAB_0008aa09:\n          lVar44 = local_b4;" statement_identifier : (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;)) (if_statement "if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }" if (parenthesized_expression "(lVar45 != 0)" ( (binary_expression "lVar45 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }" { (expression_statement "lVar44 = lVar45 + local_b4 + -1;" (assignment_expression "lVar44 = lVar45 + local_b4 + -1" identifier = (binary_expression "lVar45 + local_b4 + -1" (binary_expression "lVar45 + local_b4" identifier + identifier) + number_literal)) ;) (expression_statement "lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);" (assignment_expression "lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" identifier = (call_expression "CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" identifier (argument_list "((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" ( (binary_expression "(uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" (call_expression "(uint)((ulonglong)lVar44 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (unary_expression "-((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" - (parenthesized_expression "((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" ( (binary_expression "(int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)" (cast_expression "(int)((ulonglong)lVar45 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar45 >> 0x20)" ( (binary_expression "(ulonglong)lVar45 >> 0x20" (cast_expression "(ulonglong)lVar45" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (call_expression "(uint)((int)lVar45 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)lVar45 != 0)" ( (binary_expression "(int)lVar45 != 0" (cast_expression "(int)lVar45" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )))) )))) , (binary_expression "(uint)lVar44 & -(int)lVar45" (cast_expression "(uint)lVar44" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)lVar45" - (cast_expression "(int)lVar45" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) })) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (if_statement "if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;" if (parenthesized_expression "((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U))" ( (binary_expression "(undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)" (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)ppppppuVar31 + 3U)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuVar31 + 3U)" ( (binary_expression "(int)ppppppuVar31 + 3U" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_0008aab8;" goto statement_identifier ;)) (labeled_statement "LAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aa5c" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar44 = FUN_0015c5c0();" (assignment_expression "lVar44 = FUN_0015c5c0()" identifier = (call_expression "FUN_0015c5c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_b4 = lVar44 + local_b4;" (assignment_expression "local_b4 = lVar44 + local_b4" identifier = (binary_expression "lVar44 + local_b4" identifier + identifier)) ;) }))) (expression_statement "local_a8 = local_a8 + 6;" (assignment_expression "local_a8 = local_a8 + 6" identifier = (binary_expression "local_a8 + 6" identifier + number_literal)) ;) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 ******)local_bc[0x1c] != local_a8)" ( (binary_expression "(undefined4 ******)local_bc[0x1c] != local_a8" (cast_expression "(undefined4 ******)local_bc[0x1c]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_bc[0x1c]" identifier [ number_literal ])) != identifier) )) ;) })) (expression_statement "*(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;" (assignment_expression "*(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb" (pointer_expression "*(byte *)((int)local_bc + 0x92)" * (cast_expression "(byte *)((int)local_bc + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_bc + 0x92)" ( (binary_expression "(int)local_bc + 0x92" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_bc + 0x92) & 0xfb" (pointer_expression "*(byte *)((int)local_bc + 0x92)" * (cast_expression "(byte *)((int)local_bc + 0x92)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_bc + 0x92)" ( (binary_expression "(int)local_bc + 0x92" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "local_e4 = (undefined4 ******)*local_e4;" (assignment_expression "local_e4 = (undefined4 ******)*local_e4" identifier = (cast_expression "(undefined4 ******)*local_e4" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_e4" * identifier))) ;) }) while (parenthesized_expression "((undefined4 *******)local_e4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_e4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_e4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) ;) (expression_statement "local_e4 = (undefined4 *******)0x0;" (assignment_expression "local_e4 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (goto_statement "goto joined_r0x0008acfa;" goto statement_identifier ;) (labeled_statement "LAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" statement_identifier : (if_statement "if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" if (parenthesized_expression "(piVar13 + -1 != *(int **)(param_1 + 0x50))" ( (binary_expression "piVar13 + -1 != *(int **)(param_1 + 0x50)" (binary_expression "piVar13 + -1" identifier + number_literal) != (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" { (expression_statement "iVar19 = piVar13[-1];" (assignment_expression "iVar19 = piVar13[-1]" identifier = (subscript_expression "piVar13[-1]" identifier [ number_literal ])) ;) (expression_statement "unaff_EBX = (undefined4 *******)(local_ac + 0x13a);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_ac + 0x13a)" identifier = (cast_expression "(undefined4 *******)(local_ac + 0x13a)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + 0x13a)" ( (binary_expression "local_ac + 0x13a" identifier + number_literal) )))) ;) (expression_statement "pppppuVar26 = (*unaff_EBX)[2];" (assignment_expression "pppppuVar26 = (*unaff_EBX)[2]" identifier = (subscript_expression "(*unaff_EBX)[2]" (parenthesized_expression "(*unaff_EBX)" ( (pointer_expression "*unaff_EBX" * identifier) )) [ number_literal ])) ;) (expression_statement "local_c4 = unaff_EBX;" (assignment_expression "local_c4 = unaff_EBX" identifier = identifier) ;) (if_statement "if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }" if (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9)" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)(local_ac + -0x474c9)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_ac + -0x474c9)" ( (binary_expression "local_ac + -0x474c9" identifier + number_literal) )))) ;) (expression_statement "local_a8 = unaff_EBX;" (assignment_expression "local_a8 = unaff_EBX" identifier = identifier) ;) (do_statement "do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);" do (compound_statement "{\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      }" { (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }" if (parenthesized_expression "(((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           )" ( (binary_expression "((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)" (parenthesized_expression "((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0))" ( (binary_expression "(*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)" (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x2105) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x2105) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x2105)" * (cast_expression "(char *)((int)pppppuVar26 + 0x2105)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2105)" ( (binary_expression "(int)pppppuVar26 + 0x2105" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0" (pointer_expression "*(int *)(*(int *)(iVar19 + 0x34) + 0x28)" * (cast_expression "(int *)(*(int *)(iVar19 + 0x34) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x34) + 0x28)" ( (binary_expression "*(int *)(iVar19 + 0x34) + 0x28" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0" (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c)" (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74)" (pointer_expression "*(int *)(iVar19 + 0x7c)" * (cast_expression "(int *)(iVar19 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7c)" ( (binary_expression "iVar19 + 0x7c" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar19 + 0x74)" * (cast_expression "(int *)(iVar19 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x74)" ( (binary_expression "iVar19 + 0x74" identifier + number_literal) ))))) + (binary_expression "(uint)*(byte *)(iVar19 + 0x8c)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar19 + 0x8c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x8c)" ( (binary_expression "iVar19 + 0x8c" identifier + number_literal) ))))) != number_literal) ))) )) (compound_statement "{\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }" { (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa5);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa5)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x9c) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x9c) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x9c)" * (cast_expression "(undefined4 *)(iVar19 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x9c)" ( (binary_expression "iVar19 + 0x9c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar19 + 0xa0) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0xa0) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0xa0)" * (cast_expression "(undefined4 *)(iVar19 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa0)" ( (binary_expression "iVar19 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar19 + 0xa4) = 0;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa4) = 0" (pointer_expression "*(undefined1 *)(iVar19 + 0xa4)" * (cast_expression "(undefined1 *)(iVar19 + 0xa4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa4)" ( (binary_expression "iVar19 + 0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar39 = *(uint *)(iVar19 + 0x94);" (assignment_expression "uVar39 = *(uint *)(iVar19 + 0x94)" identifier = (pointer_expression "*(uint *)(iVar19 + 0x94)" * (cast_expression "(uint *)(iVar19 + 0x94)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x94)" ( (binary_expression "iVar19 + 0x94" identifier + number_literal) ))))) ;) (if_statement "if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }" if (parenthesized_expression "(uVar39 != 0xffffffff)" ( (binary_expression "uVar39 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }" { (expression_statement "uVar20 = uVar39 >> 2;" (assignment_expression "uVar20 = uVar39 >> 2" identifier = (binary_expression "uVar39 >> 2" identifier >> number_literal)) ;) (if_statement "if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" if (parenthesized_expression "(uVar39 < 0x100)" ( (binary_expression "uVar39 < 0x100" identifier < number_literal) )) (compound_statement "{\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }" { (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa6);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa6)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) ;) (expression_statement "*(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';" (assignment_expression "*(char *)(iVar19 + 0xa5) = (char)uVar20 + '@'" (pointer_expression "*(char *)(iVar19 + 0xa5)" * (cast_expression "(char *)(iVar19 + 0xa5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = (binary_expression "(char)uVar20 + '@'" (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'@'" ' character '))) ;) }) (else_clause "else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" else (if_statement "if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" if (parenthesized_expression "(uVar39 < 0x400)" ( (binary_expression "uVar39 < 0x400" identifier < number_literal) )) (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }" { (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 2;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 2" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" * (cast_expression "(undefined1 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa7);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa7)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa7)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa7)" ( (binary_expression "iVar19 + 0xa7" identifier + number_literal) )))) ;) (expression_statement "*(char *)(iVar19 + 0xa6) = (char)uVar20;" (assignment_expression "*(char *)(iVar19 + 0xa6) = (char)uVar20" (pointer_expression "*(char *)(iVar19 + 0xa6)" * (cast_expression "(char *)(iVar19 + 0xa6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) = (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" else (if_statement "if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" if (parenthesized_expression "(uVar39 < 0x40000)" ( (binary_expression "uVar39 < 0x40000" identifier < number_literal) )) (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }" { (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 3;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 3" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" * (cast_expression "(undefined1 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa8);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa8)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xa8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa8)" ( (binary_expression "iVar19 + 0xa8" identifier + number_literal) )))) ;) (expression_statement "*(short *)(iVar19 + 0xa6) = (short)uVar20;" (assignment_expression "*(short *)(iVar19 + 0xa6) = (short)uVar20" (pointer_expression "*(short *)(iVar19 + 0xa6)" * (cast_expression "(short *)(iVar19 + 0xa6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) = (cast_expression "(short)uVar20" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) }) (else_clause "else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" else (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" { (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 4;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 4" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" * (cast_expression "(undefined1 *)(iVar19 + 0xa5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa5)" ( (binary_expression "iVar19 + 0xa5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xaa);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xaa)" identifier = (cast_expression "(undefined2 *)(iVar19 + 0xaa)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xaa)" ( (binary_expression "iVar19 + 0xaa" identifier + number_literal) )))) ;) (expression_statement "*(uint *)(iVar19 + 0xa6) = uVar20;" (assignment_expression "*(uint *)(iVar19 + 0xa6) = uVar20" (pointer_expression "*(uint *)(iVar19 + 0xa6)" * (cast_expression "(uint *)(iVar19 + 0xa6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xa6)" ( (binary_expression "iVar19 + 0xa6" identifier + number_literal) )))) = identifier) ;) }))))))) (expression_statement "*puVar21 = 0x4111;" (assignment_expression "*puVar21 = 0x4111" (pointer_expression "*puVar21" * identifier) = number_literal) ;) (expression_statement "uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);" (assignment_expression "uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar19 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(iVar19 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x34) + 8)" ( (binary_expression "*(int *)(iVar19 + 0x34) + 8" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined2 *)((int)puVar21 + 3) = 0x644;" (assignment_expression "*(undefined2 *)((int)puVar21 + 3) = 0x644" (pointer_expression "*(undefined2 *)((int)puVar21 + 3)" * (cast_expression "(undefined2 *)((int)puVar21 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 3)" ( (binary_expression "(int)puVar21 + 3" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)puVar21 + 5) = 0x41;" (assignment_expression "*(undefined1 *)((int)puVar21 + 5) = 0x41" (pointer_expression "*(undefined1 *)((int)puVar21 + 5)" * (cast_expression "(undefined1 *)((int)puVar21 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 5)" ( (binary_expression "(int)puVar21 + 5" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;" (assignment_expression "*(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f" (pointer_expression "*(byte *)(puVar21 + 1)" * (cast_expression "(byte *)(puVar21 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 1)" ( (binary_expression "puVar21 + 1" identifier + number_literal) )))) = (binary_expression "(-((uVar39 & 2) == 0) & 0xfdU) + 0x7f" (parenthesized_expression "(-((uVar39 & 2) == 0) & 0xfdU)" ( (binary_expression "-((uVar39 & 2) == 0) & 0xfdU" (unary_expression "-((uVar39 & 2) == 0)" - (parenthesized_expression "((uVar39 & 2) == 0)" ( (binary_expression "(uVar39 & 2) == 0" (parenthesized_expression "(uVar39 & 2)" ( (binary_expression "uVar39 & 2" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "puVar21 = puVar21 + 3;" (assignment_expression "puVar21 = puVar21 + 3" identifier = (binary_expression "puVar21 + 3" identifier + number_literal)) ;) })) (expression_statement "iVar22 = (int)puVar21 - (iVar19 + 0x9c);" (assignment_expression "iVar22 = (int)puVar21 - (iVar19 + 0x9c)" identifier = (binary_expression "(int)puVar21 - (iVar19 + 0x9c)" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(iVar19 + 0x9c)" ( (binary_expression "iVar19 + 0x9c" identifier + number_literal) )))) ;) (expression_statement "*(int *)(iVar19 + 0x98) = iVar22;" (assignment_expression "*(int *)(iVar19 + 0x98) = iVar22" (pointer_expression "*(int *)(iVar19 + 0x98)" * (cast_expression "(int *)(iVar19 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x98)" ( (binary_expression "iVar19 + 0x98" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0xc) = iVar22;" (assignment_expression "*(int *)(puVar35 + -0xc) = iVar22" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0x10) = iVar19 + 0x9c;" (assignment_expression "*(int *)(puVar35 + -0x10) = iVar19 + 0x9c" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar19 + 0x9c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0xc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0xc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" * (cast_expression "(undefined4 ********)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(int *)(puVar35 + -0x1c) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x1c) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x1c)" * (cast_expression "(int *)(puVar35 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = param_5" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x89654;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x89654" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00111200();" (call_expression "FUN_00111200()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" identifier = (cast_expression "(undefined4 *******)ppppppuVar31" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) })) (if_statement "if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }" if (parenthesized_expression "(*(int **)(param_1 + 0x50) == piVar13)" ( (binary_expression "*(int **)(param_1 + 0x50) == piVar13" (pointer_expression "*(int **)(param_1 + 0x50)" * (cast_expression "(int **)(param_1 + 0x50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }" { (expression_statement "local_5c._4_4_ = (undefined4 *******)0x1;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)0x1" (field_expression "local_5c._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_54 = (undefined4 *******)0x0;" (assignment_expression "local_54 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "piVar40 = *(int **)(param_1 + 0x4c);" (assignment_expression "piVar40 = *(int **)(param_1 + 0x4c)" identifier = (pointer_expression "*(int **)(param_1 + 0x4c)" * (cast_expression "(int **)(param_1 + 0x4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "local_5c._0_4_ = (undefined4 *******)&local_44;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)&local_44" (field_expression "local_5c._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)&local_44" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_44" & identifier))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_10c = (undefined4 ******)&local_5c;" (assignment_expression "local_10c = (undefined4 ******)&local_5c" identifier = (cast_expression "(undefined4 ******)&local_5c" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&local_5c" & identifier))) ;) (expression_statement "local_4c = 0x3f800000;" (assignment_expression "local_4c = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (piVar40 == piVar13) goto LAB_0008a7bd;" if (parenthesized_expression "(piVar40 == piVar13)" ( (binary_expression "piVar40 == piVar13" identifier == identifier) )) (goto_statement "goto LAB_0008a7bd;" goto statement_identifier ;)) (expression_statement "local_bc = local_ac + -0xdbefc;" (assignment_expression "local_bc = local_ac + -0xdbefc" identifier = (binary_expression "local_ac + -0xdbefc" identifier + number_literal)) ;) (goto_statement "goto LAB_00089744;" goto statement_identifier ;) })) (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_a8)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_a8)[2]" identifier = (cast_expression "(undefined4 *****)(*local_a8)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_a8)[2]" (parenthesized_expression "(*local_a8)" ( (pointer_expression "*local_a8" * identifier) )) [ number_literal ]))) ;) }) while (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) })) (goto_statement "goto LAB_0008c0b4;" goto statement_identifier ;) }))) (labeled_statement "LAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;" statement_identifier : (expression_statement "local_5c._0_4_ = (undefined4 *******)&local_44;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)&local_44" (field_expression "local_5c._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)&local_44" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_44" & identifier))) ;)) (expression_statement "local_5c._4_4_ = (undefined4 *******)0x1;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)0x1" (field_expression "local_5c._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_10c = (undefined4 ******)&local_5c;" (assignment_expression "local_10c = (undefined4 ******)&local_5c" identifier = (cast_expression "(undefined4 ******)&local_5c" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&local_5c" & identifier))) ;) (expression_statement "local_54 = (undefined4 *******)0x0;" (assignment_expression "local_54 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0x3f800000;" (assignment_expression "local_4c = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;" statement_identifier : (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" identifier = (cast_expression "(undefined4 *******)local_ac" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;)) (labeled_statement "joined_r0x0008acfa:\n  local_ac = pppppppuVar10;" statement_identifier : (expression_statement "local_ac = pppppppuVar10;" (assignment_expression "local_ac = pppppppuVar10" identifier = identifier) ;)) (if_statement "if ((char)local_fc != '\0') goto LAB_0008ad00;" if (parenthesized_expression "((char)local_fc != '\0')" ( (binary_expression "(char)local_fc != '\0'" (cast_expression "(char)local_fc" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008ad00;" goto statement_identifier ;)) (if_statement "if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" if (parenthesized_expression "((undefined4 *******)local_f4 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_f4 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_f4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }" { (if_statement "if ((char)local_fc != '\0') goto LAB_0008ad00;" if (parenthesized_expression "((char)local_fc != '\0')" ( (binary_expression "(char)local_fc != '\0'" (cast_expression "(char)local_fc" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008ad00;" goto statement_identifier ;)) (expression_statement "local_c4 = pppppppuVar10 + 0x13a;" (assignment_expression "local_c4 = pppppppuVar10 + 0x13a" identifier = (binary_expression "pppppppuVar10 + 0x13a" identifier + number_literal)) ;) (labeled_statement "LAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];" statement_identifier : (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;)) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }" { (expression_statement "*(undefined4 ********)(puVar35 + -4) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -4) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -4)" * (cast_expression "(undefined4 ********)(puVar35 + -4)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008c216;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008c216" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008c216" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" else (compound_statement "{\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" { (expression_statement "local_c4 = pppppppuVar10 + 0x13a;" (assignment_expression "local_c4 = pppppppuVar10 + 0x13a" identifier = (binary_expression "pppppppuVar10 + 0x13a" identifier + number_literal)) ;) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }" { (expression_statement "*(undefined4 *)(puVar35 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;" (assignment_expression "*(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716" (pointer_expression "*(undefined4 ********)(puVar35 + -8)" * (cast_expression "(undefined4 ********)(puVar35 + -8)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "pppppppuVar10 + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)pppppppuVar10 + -0x131d93" (cast_expression "(int)pppppppuVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c376;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c376" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }" if (parenthesized_expression "((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x1a25) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x1a25) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x1a25)" * (cast_expression "(char *)((int)pppppuVar26 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x1a25)" ( (binary_expression "(int)pppppuVar26 + 0x1a25" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x2931) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x2931) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x2931)" * (cast_expression "(char *)((int)pppppuVar26 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2931)" ( (binary_expression "(int)pppppuVar26 + 0x2931" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }" { (expression_statement "iVar19 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x24)" identifier = (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }" if (parenthesized_expression "((*(byte *)(iVar19 + 0x1c) & 8) == 0)" ( (binary_expression "(*(byte *)(iVar19 + 0x1c) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar19 + 0x1c) & 8)" ( (binary_expression "*(byte *)(iVar19 + 0x1c) & 8" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }" { (expression_statement "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar19 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) & number_literal)) ;) })) (expression_statement "local_a8 = *(undefined4 *******)(iVar19 + 0x2c);" (assignment_expression "local_a8 = *(undefined4 *******)(iVar19 + 0x2c)" identifier = (pointer_expression "*(undefined4 *******)(iVar19 + 0x2c)" * (cast_expression "(undefined4 *******)(iVar19 + 0x2c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }" if (parenthesized_expression "((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0)" ( (binary_expression "(*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0" (parenthesized_expression "(*(byte *)((undefined4 *******)local_a8 + 7) & 8)" ( (binary_expression "*(byte *)((undefined4 *******)local_a8 + 7) & 8" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" * (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_a8 + 7)" ( (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }" { (expression_statement "*(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;" (assignment_expression "*(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" * (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_a8 + 7)" ( (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((undefined4 *******)local_a8 + 7) & 0xfd" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" * (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_a8 + 7)" ( (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) & number_literal)) ;) })) (expression_statement "piVar13 = *(int **)(param_1 + 0x60);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x60)" identifier = (pointer_expression "*(int **)(param_1 + 0x60)" * (cast_expression "(int **)(param_1 + 0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }" { (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (while_statement "while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }" { (expression_statement "local_b4._0_4_ = (undefined4 *******)piVar13[1];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)piVar13[1]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)piVar13[1]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "piVar13[1]" identifier [ number_literal ]))) ;) (expression_statement "local_b4._4_4_ = (undefined4 *****)piVar13[2];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)piVar13[2]" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)piVar13[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar13[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar22 = piVar13[3];" (assignment_expression "iVar22 = piVar13[3]" identifier = (subscript_expression "piVar13[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x14) = iVar22;" (assignment_expression "*(int *)(puVar35 + -0x14) = iVar22" (pointer_expression "*(int *)(puVar35 + -0x14)" * (cast_expression "(int *)(puVar35 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0x18) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x18) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x18)" * (cast_expression "(int *)(puVar35 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x16;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x16" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x20) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x20) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x20)" * (cast_expression "(undefined4 *******)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8a935;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8a935" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0016dd00();" (call_expression "FUN_0016dd00()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "local_24 = (undefined4 *******)local_b4;" (assignment_expression "local_24 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_20 = local_b4._4_4_;" (assignment_expression "local_20 = local_b4._4_4_" identifier = (field_expression "local_b4._4_4_" identifier . field_identifier)) ;) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[0xe];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[0xe]" identifier = (cast_expression "(undefined4 ******)local_a8[0xe]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xe]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" if (parenthesized_expression "(ppppppuVar31 == (undefined4 ******)local_a8[0xf])" ( (binary_expression "ppppppuVar31 == (undefined4 ******)local_a8[0xf]" identifier == (cast_expression "(undefined4 ******)local_a8[0xf]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xf]" identifier [ number_literal ]))) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" * (cast_expression "(undefined4 *******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar11 + 0xd" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a975;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a975" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000ad050();" (call_expression "FUN_000ad050()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];" (assignment_expression "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe]" identifier = (cast_expression "(undefined4 ******)ppppppuVar11[0xe]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[0xe]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" else (compound_statement "{\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" { (expression_statement "ppppppuVar11 = ppppppuVar31 + 9;" (assignment_expression "ppppppuVar11 = ppppppuVar31 + 9" identifier = (binary_expression "ppppppuVar31 + 9" identifier + number_literal)) ;) (expression_statement "*ppppppuVar31 = local_40;" (assignment_expression "*ppppppuVar31 = local_40" (pointer_expression "*ppppppuVar31" * identifier) = identifier) ;) (expression_statement "ppppppuVar31[1] = local_3c;" (assignment_expression "ppppppuVar31[1] = local_3c" (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[2] = local_38;" (assignment_expression "ppppppuVar31[2] = local_38" (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[3] = local_34;" (assignment_expression "ppppppuVar31[3] = local_34" (subscript_expression "ppppppuVar31[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[4] = local_30;" (assignment_expression "ppppppuVar31[4] = local_30" (subscript_expression "ppppppuVar31[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[5] = local_2c;" (assignment_expression "ppppppuVar31[5] = local_2c" (subscript_expression "ppppppuVar31[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppuVar31[6] = (undefined4 *****)local_28;" (assignment_expression "ppppppuVar31[6] = (undefined4 *****)local_28" (subscript_expression "ppppppuVar31[6]" identifier [ number_literal ]) = (cast_expression "(undefined4 *****)local_28" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppuVar31[7] = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31[7] = (undefined4 *******)local_b4" (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ]) = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuVar31[8] = local_b4._4_4_;" (assignment_expression "ppppppuVar31[8] = local_b4._4_4_" (subscript_expression "ppppppuVar31[8]" identifier [ number_literal ]) = (field_expression "local_b4._4_4_" identifier . field_identifier)) ;) (expression_statement "local_a8[0xe] = ppppppuVar11;" (assignment_expression "local_a8[0xe] = ppppppuVar11" (subscript_expression "local_a8[0xe]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;" (assignment_expression "iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2" identifier = (binary_expression "(int)ppppppuVar11 - (int)local_a8[0xd] >> 2" (binary_expression "(int)ppppppuVar11 - (int)local_a8[0xd]" (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_a8[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0xd]" identifier [ number_literal ]))) >> number_literal)) ;) (expression_statement "iVar12 = iVar22 * 0x38e38e39;" (assignment_expression "iVar12 = iVar22 * 0x38e38e39" identifier = (binary_expression "iVar22 * 0x38e38e39" identifier * number_literal)) ;) (if_statement "if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)local_a8[7] & 2) != 0)" ( (binary_expression "((uint)local_a8[7] & 2) != 0" (parenthesized_expression "((uint)local_a8[7] & 2)" ( (binary_expression "(uint)local_a8[7] & 2" (cast_expression "(uint)local_a8[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }" { (expression_statement "*(int *)(puVar35 + -4) = iVar12;" (assignment_expression "*(int *)(puVar35 + -4) = iVar12" (pointer_expression "*(int *)(puVar35 + -4)" * (cast_expression "(int *)(puVar35 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47868" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c3da;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c3da" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);" (assignment_expression "local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558)" (subscript_expression "local_a8[3]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)(iVar22 * 0x55555558)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar22 * 0x55555558)" ( (binary_expression "iVar22 * 0x55555558" identifier * number_literal) )))) ;) (expression_statement "local_a8[4] = (undefined4 ******)0x0;" (assignment_expression "local_a8[4] = (undefined4 ******)0x0" (subscript_expression "local_a8[4]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar19 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) | number_literal)) ;) (if_statement "if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }" if (parenthesized_expression "(((uint)local_2c & 0x10000000) != 0)" ( (binary_expression "((uint)local_2c & 0x10000000) != 0" (parenthesized_expression "((uint)local_2c & 0x10000000)" ( (binary_expression "(uint)local_2c & 0x10000000" (cast_expression "(uint)local_2c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }" { (expression_statement "local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);" (assignment_expression "local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1)" (subscript_expression "local_a8[0xb]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_a8[0xb] + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_a8[0xb] + 1)" ( (binary_expression "(int)local_a8[0xb] + 1" (cast_expression "(int)local_a8[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0xb]" identifier [ number_literal ])) + number_literal) )))) ;) })) (if_statement "if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }" if (parenthesized_expression "(((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0))" ( (binary_expression "((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc)" ( (binary_expression "(undefined4 *****)local_28 != (undefined4 *****)0xfffffffc" (cast_expression "(undefined4 *****)local_28" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(undefined4 *****)0xfffffffc" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((undefined4 *******)local_3c != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_3c != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_3c" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) (compound_statement "{\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }" { (if_statement "if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }" if (parenthesized_expression "((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_3c[0x19]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_3c[0x19]" identifier [ number_literal ])) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }" { (expression_statement "local_3c[0x18] = (undefined4 ******)(iVar12 + -1);" (assignment_expression "local_3c[0x18] = (undefined4 ******)(iVar12 + -1)" (subscript_expression "local_3c[0x18]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)(iVar12 + -1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar12 + -1)" ( (binary_expression "iVar12 + -1" identifier + number_literal) )))) ;) })) (expression_statement "local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);" (assignment_expression "local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1)" (subscript_expression "local_3c[0x19]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)local_3c[0x19] + 1)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)local_3c[0x19] + 1)" ( (binary_expression "(int)local_3c[0x19] + 1" (cast_expression "(int)local_3c[0x19]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_3c[0x19]" identifier [ number_literal ])) + number_literal) )))) ;) })) (expression_statement "piVar13 = (int *)*piVar13;" (assignment_expression "piVar13 = (int *)*piVar13" identifier = (cast_expression "(int *)*piVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier))) ;) (expression_statement "iVar19 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x24)" identifier = (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 == (int *)0x0) break;" if (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_a8 = *(undefined4 *******)(iVar19 + 0x2c);" (assignment_expression "local_a8 = *(undefined4 *******)(iVar19 + 0x2c)" identifier = (pointer_expression "*(undefined4 *******)(iVar19 + 0x2c)" * (cast_expression "(undefined4 *******)(iVar19 + 0x2c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) ))))) ;) })) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "bVar42 = *(byte *)(iVar19 + 0x1c);" (assignment_expression "bVar42 = *(byte *)(iVar19 + 0x1c)" identifier = (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }" if (parenthesized_expression "((bVar42 & 2) == 0)" ( (binary_expression "(bVar42 & 2) == 0" (parenthesized_expression "(bVar42 & 2)" ( (binary_expression "bVar42 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }" { (if_statement "if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }" if (parenthesized_expression "((bVar42 & 8) != 0)" ( (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" ( (binary_expression "bVar42 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }" { (expression_statement "*(int **)(puVar35 + -4) = piVar13;" (assignment_expression "*(int **)(puVar35 + -4) = piVar13" (pointer_expression "*(int **)(puVar35 + -4)" * (cast_expression "(int **)(puVar35 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47840" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x218;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x218" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c265;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c265" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(byte *)(iVar19 + 0x1c) = bVar42 | 2;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = bVar42 | 2" (pointer_expression "*(byte *)(iVar19 + 0x1c)" * (cast_expression "(byte *)(iVar19 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (binary_expression "bVar42 | 2" identifier | number_literal)) ;) })) (expression_statement "unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);" (assignment_expression "unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c)" identifier = (pointer_expression "*(undefined4 ********)(iVar19 + 0x2c)" * (cast_expression "(undefined4 ********)(iVar19 + 0x2c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }" { (expression_statement "ppppppuVar31 = *unaff_EBX;" (assignment_expression "ppppppuVar31 = *unaff_EBX" identifier = (pointer_expression "*unaff_EBX" * identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppuVar26 = ppppppuVar31[0xe];" (assignment_expression "pppppuVar26 = ppppppuVar31[0xe]" identifier = (subscript_expression "ppppppuVar31[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b1c8" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)pppppuVar26)();" (call_expression "(*(code *)pppppuVar26)()" (parenthesized_expression "(*(code *)pppppuVar26)" ( (pointer_expression "*(code *)pppppuVar26" * (cast_expression "(code *)pppppuVar26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }" if (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" ( (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" ( (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "unaff_EBX[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }" { (expression_statement "*(int *)(puVar35 + -4) = iVar19;" (assignment_expression "*(int *)(puVar35 + -4) = iVar19" (pointer_expression "*(int *)(puVar35 + -4)" * (cast_expression "(int *)(puVar35 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x478e2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b1f4" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) })) (goto_statement "goto LAB_0008af56;" goto statement_identifier ;) })) }))) (if_statement "if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }" if (parenthesized_expression "((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0'))" ( (binary_expression "(*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')" (parenthesized_expression "(*(char *)(pppppuVar26 + 0x410) == '\0')" ( (binary_expression "*(char *)(pppppuVar26 + 0x410) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0x410)" * (cast_expression "(char *)(pppppuVar26 + 0x410)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar26 + 0x410)" ( (binary_expression "pppppuVar26 + 0x410" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x1041) != '\0')" ( (binary_expression "*(char *)((int)pppppuVar26 + 0x1041) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x1041)" * (cast_expression "(char *)((int)pppppuVar26 + 0x1041)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x1041)" ( (binary_expression "(int)pppppuVar26 + 0x1041" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }" { (expression_statement "local_110 = local_71;" (assignment_expression "local_110 = local_71" identifier = identifier) ;) (expression_statement "local_104 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "local_104 = *(undefined4 **)(param_1 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" * (cast_expression "(undefined4 **)(param_1 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;) (if_statement "if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }" if (parenthesized_expression "(local_104 != *(undefined4 **)(param_1 + 0x50))" ( (binary_expression "local_104 != *(undefined4 **)(param_1 + 0x50)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }" { (do_statement "do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);" do (compound_statement "{\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      }" { (expression_statement "local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);" (assignment_expression "local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20)" (field_expression "local_b4._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)((ulonglong)lVar44 >> 0x20)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" ( (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_a8 = (undefined4 ******)*local_104;" (assignment_expression "local_a8 = (undefined4 ******)*local_104" identifier = (cast_expression "(undefined4 ******)*local_104" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*local_104" * identifier))) ;) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0x11]" identifier = (subscript_expression "((undefined4 *******)local_a8)[0x11]" (parenthesized_expression "((undefined4 *******)local_a8)" ( (cast_expression "(undefined4 *******)local_a8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "lVar45 = local_dc;" (assignment_expression "lVar45 = local_dc" identifier = identifier) ;) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }" if (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }" { (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" identifier = identifier) ;) (if_statement "if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }" if (parenthesized_expression "((undefined4 ******)0x3fffffff < ppppppuVar31)" ( (binary_expression "(undefined4 ******)0x3fffffff < ppppppuVar31" (cast_expression "(undefined4 ******)0x3fffffff" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) < identifier) )) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }" { (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4741d" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008c2c5" & identifier)) ;) (expression_statement "FUN_0028dc10();" (call_expression "FUN_0028dc10()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 * 4" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b3de;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b3de" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_f8 = (undefined4 ******)FUN_00246670();" (assignment_expression "local_f8 = (undefined4 ******)FUN_00246670()" identifier = (cast_expression "(undefined4 ******)FUN_00246670()" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00246670()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_f8;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_f8" identifier = (cast_expression "(undefined4 *******)local_f8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (do_statement "do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);" do (compound_statement "{\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          }" { (expression_statement "*pppppppuVar10 = (undefined4 ******)0x0;" (assignment_expression "*pppppppuVar10 = (undefined4 ******)0x0" (pointer_expression "*pppppppuVar10" * identifier) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppuVar10 = pppppppuVar10 + 1;" (assignment_expression "pppppppuVar10 = pppppppuVar10 + 1" identifier = (binary_expression "pppppppuVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31)" ( (binary_expression "pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31" identifier != (binary_expression "(undefined4 *******)local_f8 + (int)ppppppuVar31" (cast_expression "(undefined4 *******)local_f8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) (for_statement "for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }" for ( (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[0x10]" identifier = (cast_expression "(undefined4 ******)local_a8[0x10]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x10]" identifier [ number_literal ]))) ; (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ; (assignment_expression "ppppppuVar31 = (undefined4 ******)*ppppppuVar31" identifier = (cast_expression "(undefined4 ******)*ppppppuVar31" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppuVar31" * identifier))) ) (compound_statement "{\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }" { (expression_statement "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;" (assignment_expression "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31" (subscript_expression "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]]" (parenthesized_expression "((undefined4 *******)local_f8)" ( (cast_expression "(undefined4 *******)local_f8" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ (cast_expression "(int)ppppppuVar31[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppuVar31[7]" identifier [ number_literal ])) ]) = identifier) ;) })) (expression_statement "local_dc._0_4_ = (undefined4 *******)0x0;" (assignment_expression "local_dc._0_4_ = (undefined4 *******)0x0" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_cc._0_4_ = (undefined4 *******)local_68;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)local_68" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_68" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }" if (parenthesized_expression "((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0)" ( (binary_expression "(undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_a8[0x11]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0x11]" identifier [ number_literal ])) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }" { (do_statement "do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);" do (compound_statement "{\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            }" { (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);" (assignment_expression "local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00)" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined8 *)((uint)local_68[0] & 0xffffff00)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_68[0] & 0xffffff00)" ( (binary_expression "(uint)local_68[0] & 0xffffff00" (cast_expression "(uint)local_68[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_68[0]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_f8[(int)(undefined4 *******)local_dc]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_f8[(int)(undefined4 *******)local_dc]" identifier [ (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ]))) ;) (if_statement "if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" if (parenthesized_expression "(((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0)" ( (binary_expression "((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0" (binary_expression "((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[3]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) || (binary_expression "((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[4]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[3]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf9f" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b8bc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" identifier (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0xc)" * (cast_expression "(char **)(puVar35 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);" (assignment_expression "local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00)" identifier = (cast_expression "(undefined4 ******)((uint)local_40 & 0xffffff00)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)local_40 & 0xffffff00)" ( (binary_expression "(uint)local_40 & 0xffffff00" (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" if (parenthesized_expression "(((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0)" ( (binary_expression "((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" { (expression_statement "*(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];" (assignment_expression "*(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f]" (pointer_expression "*(undefined4 ******)(puVar35 + -8)" * (cast_expression "(undefined4 ******)(puVar35 + -8)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[2][0x4f]" (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf9b" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b4a9" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" identifier (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0xc)" * (cast_expression "(char **)(puVar35 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)local_110;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_110" identifier = (cast_expression "(undefined4 *******)local_110" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[1];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[1]" identifier = (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e" (pointer_expression "*(int *)(puVar35 + -0xc)" * (cast_expression "(int *)(puVar35 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf9e" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b955;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b955" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" identifier (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0xc)" * (cast_expression "(char **)(puVar35 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" identifier = (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" else (compound_statement "{\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" { (expression_statement "pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];" (assignment_expression "pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d]" identifier = (cast_expression "(undefined4 *****)local_a8[0xd][0x2d]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_a8[0xd][0x2d]" (subscript_expression "local_a8[0xd]" identifier [ number_literal ]) [ number_literal ]))) ;) (if_statement "if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" if (parenthesized_expression "((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14))))" ( (binary_expression "(pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))" (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "(((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))" ( (parenthesized_expression "((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14))" ( (binary_expression "(undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)" (binary_expression "(undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26" (cast_expression "(undefined4 *****)local_a8[0xd][0x2c]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "local_a8[0xd][0x2c]" (subscript_expression "local_a8[0xd]" identifier [ number_literal ]) [ number_literal ])) != identifier) && (parenthesized_expression "(pppppuVar26 != pppppuVar14)" ( (binary_expression "pppppuVar26 != pppppuVar14" identifier != identifier) ))) )) ))) )) (compound_statement "{\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" { (expression_statement "pppppppuVar10 = (undefined4 *******)*pppppuVar26;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*pppppuVar26" identifier = (cast_expression "(undefined4 *******)*pppppuVar26" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppuVar26" * identifier))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" identifier = (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }) (else_clause "else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" else (compound_statement "{\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" { (expression_statement "pppppppuVar10 = (undefined4 *******)*pppppuVar14;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*pppppuVar14" identifier = (cast_expression "(undefined4 *******)*pppppuVar14" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*pppppuVar14" * identifier))) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" identifier = (cast_expression "(undefined4 *******)local_bc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }))) }))) (do_statement "do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);" do (compound_statement "{\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              }" { (expression_statement "pppppppuVar30 = pppppppuVar16;" (assignment_expression "pppppppuVar30 = pppppppuVar16" identifier = identifier) ;) (expression_statement "uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;" (assignment_expression "uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30" identifier = (binary_expression "(uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30" (call_expression "(uint)((int)*pppppppuVar30 + 0xfefefeffU)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*pppppppuVar30 + 0xfefefeffU)" ( (binary_expression "(int)*pppppppuVar30 + 0xfefefeffU" (cast_expression "(int)*pppppppuVar30" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppppuVar30" * identifier)) + number_literal) ))) & (binary_expression "~(uint)*pppppppuVar30" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar39 = uVar20 & 0x80808080;" (assignment_expression "uVar39 = uVar20 & 0x80808080" identifier = (binary_expression "uVar20 & 0x80808080" identifier & number_literal)) ;) (expression_statement "pppppppuVar16 = pppppppuVar30 + 1;" (assignment_expression "pppppppuVar16 = pppppppuVar30 + 1" identifier = (binary_expression "pppppppuVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar39 == 0)" ( (binary_expression "uVar39 == 0" identifier == number_literal) )) ;) (expression_statement "bVar41 = (uVar20 & 0x8080) == 0;" (assignment_expression "bVar41 = (uVar20 & 0x8080) == 0" identifier = (binary_expression "(uVar20 & 0x8080) == 0" (parenthesized_expression "(uVar20 & 0x8080)" ( (binary_expression "uVar20 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                uVar39 = uVar39 >> 0x10;\n              }" { (expression_statement "uVar39 = uVar39 >> 0x10;" (assignment_expression "uVar39 = uVar39 >> 0x10" identifier = (binary_expression "uVar39 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }" { (expression_statement "pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);" (assignment_expression "pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar30 + 6)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar30 + 6)" ( (binary_expression "(int)pppppppuVar30 + 6" (cast_expression "(int)pppppppuVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar19 = -(int)local_bc;" (assignment_expression "iVar19 = -(int)local_bc" identifier = (unary_expression "-(int)local_bc" - (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b53f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b53f" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar15 = strlen(*(char **)(puVar35 + -0x10));" (assignment_expression "sVar15 = strlen(*(char **)(puVar35 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar35 + -0x10))" identifier (argument_list "(*(char **)(puVar35 + -0x10))" ( (pointer_expression "*(char **)(puVar35 + -0x10)" * (cast_expression "(char **)(puVar35 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;" (assignment_expression "ppuVar25 = (undefined8 **)(undefined4 *******)local_cc" identifier = (cast_expression "(undefined8 **)(undefined4 *******)local_cc" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (do_statement "do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);" do (compound_statement "{\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              }" { (expression_statement "ppuVar24 = ppuVar25;" (assignment_expression "ppuVar24 = ppuVar25" identifier = identifier) ;) (expression_statement "uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;" (assignment_expression "uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24" identifier = (binary_expression "(int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24" (binary_expression "(int)*ppuVar24 + 0xfefefeffU" (cast_expression "(int)*ppuVar24" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar24" * identifier)) + number_literal) & (binary_expression "~(uint)*ppuVar24" (unary_expression "~(uint)" ~ (parenthesized_expression "(uint)" ( identifier ))) * identifier))) ;) (expression_statement "uVar20 = uVar32 & 0x80808080;" (assignment_expression "uVar20 = uVar32 & 0x80808080" identifier = (binary_expression "uVar32 & 0x80808080" identifier & number_literal)) ;) (expression_statement "ppuVar25 = ppuVar24 + 1;" (assignment_expression "ppuVar25 = ppuVar24 + 1" identifier = (binary_expression "ppuVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) ;) (expression_statement "bVar41 = (uVar32 & 0x8080) == 0;" (assignment_expression "bVar41 = (uVar32 & 0x8080) == 0" identifier = (binary_expression "(uVar32 & 0x8080) == 0" (parenthesized_expression "(uVar32 & 0x8080)" ( (binary_expression "uVar32 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                uVar20 = uVar20 >> 0x10;\n              }" { (expression_statement "uVar20 = uVar20 >> 0x10;" (assignment_expression "uVar20 = uVar20 >> 0x10" identifier = (binary_expression "uVar20 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }" { (expression_statement "ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);" (assignment_expression "ppuVar25 = (undefined8 **)((int)ppuVar24 + 6)" identifier = (cast_expression "(undefined8 **)((int)ppuVar24 + 6)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar24 + 6)" ( (binary_expression "(int)ppuVar24 + 6" (cast_expression "(int)ppuVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "*(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));" (assignment_expression "*(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" (pointer_expression "*(size_t *)(puVar35 + -0x10)" * (cast_expression "(size_t *)(puVar35 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39))" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25" (cast_expression "(int)pppppppuVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppuVar25" ( (type_descriptor "int" primitive_type) ) identifier)) + identifier) + (parenthesized_expression "(iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39))" ( (binary_expression "iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)" identifier - (cast_expression "(uint)CARRY1((byte)uVar39,(byte)uVar39)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar39,(byte)uVar39)" identifier (argument_list "((byte)uVar39,(byte)uVar39)" ( (cast_expression "(byte)uVar39" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar39" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) + number_literal) + (parenthesized_expression "(-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" ( (binary_expression "-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20)" (unary_expression "-(int)(undefined4 *******)local_cc" - (cast_expression "(int)(undefined4 *******)local_cc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) - (cast_expression "(uint)CARRY1((byte)uVar20,(byte)uVar20)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar20,(byte)uVar20)" identifier (argument_list "((byte)uVar20,(byte)uVar20)" ( (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )))) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b597;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b597" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar16 = (undefined4 *******)FUN_002465f0();" (assignment_expression "pppppppuVar16 = (undefined4 *******)FUN_002465f0()" identifier = (cast_expression "(undefined4 *******)FUN_002465f0()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_002465f0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "local_e4 = pppppppuVar16;" (assignment_expression "local_e4 = pppppppuVar16" identifier = identifier) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc" (pointer_expression "*(undefined4 ********)(puVar35 + -0xc)" * (cast_expression "(undefined4 ********)(puVar35 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_cc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" * (cast_expression "(undefined4 ********)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x14) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x14) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x14)" * (cast_expression "(undefined4 *******)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x18)" * (cast_expression "(undefined4 ******)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (subscript_expression "ppppppuVar11[0x24]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;" (assignment_expression "*(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97" (pointer_expression "*(int *)(puVar35 + -0x1c)" * (cast_expression "(int *)(puVar35 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11cf97" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar35 + -0x20)" * (cast_expression "(undefined4 ********)(puVar35 + -0x20)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8b5c7" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));" (call_expression "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" identifier (argument_list "(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" ( (pointer_expression "*(char **)(puVar35 + -0x20)" * (cast_expression "(char **)(puVar35 + -0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0x1c)" * (cast_expression "(char **)(puVar35 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c10e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c10e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n                uVar39 = 0x20;\n              }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)local_a8[7] & 1) == 0)" ( (binary_expression "((uint)local_a8[7] & 1) == 0" (parenthesized_expression "((uint)local_a8[7] & 1)" ( (binary_expression "(uint)local_a8[7] & 1" (cast_expression "(uint)local_a8[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b624;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b624" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b624" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11)" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)ppppppuVar11)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)ppppppuVar11)" ( (binary_expression "(uVar39 - 1) + (int)ppppppuVar11" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" identifier = (cast_expression "(undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" ( (binary_expression "(uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)local_a8[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[0x1c] + (int)puVar23)" ( (binary_expression "(int)local_a8[0x1c] + (int)puVar23" (cast_expression "(int)local_a8[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier)) )))) ;) (expression_statement "local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);" (assignment_expression "local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" identifier = (binary_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (call_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1))" ( (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_a8[0x1c],(uint)puVar23)" identifier (argument_list "((uint)local_a8[0x1c],(uint)puVar23)" ( (cast_expression "(uint)local_a8[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)ppppppuVar11)" identifier (argument_list "(uVar39 - 1,(uint)ppppppuVar11)" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (cast_expression "(uint)ppppppuVar11" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) ))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[1];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[1]" identifier = (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);" (assignment_expression "local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" identifier = (cast_expression "(undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" ( (binary_expression "((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]" (parenthesized_expression "((int)local_ec - (int)ppppppuVar11)" ( (binary_expression "(int)local_ec - (int)ppppppuVar11" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) + (cast_expression "(int)((undefined4 *******)local_b4)[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[6]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);" (assignment_expression "local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" identifier = (binary_expression "((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" (parenthesized_expression "((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11))" ( (binary_expression "(local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)" (parenthesized_expression "(local_e8 - (int)local_a8[2])" ( (binary_expression "local_e8 - (int)local_a8[2]" identifier - (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) )) - (call_expression "(uint)(local_ec < ppppppuVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_ec < ppppppuVar11)" ( (binary_expression "local_ec < ppppppuVar11" identifier < identifier) )))) )) + (cast_expression "(uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" identifier (argument_list "((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" ( (binary_expression "(int)local_ec - (int)ppppppuVar11" (cast_expression "(int)local_ec" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppuVar11" ( (type_descriptor "int" primitive_type) ) identifier)) , (subscript_expression "(uint)((undefined4 *******)local_b4)[6]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) )))))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0xd];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0xd]" identifier = (cast_expression "(undefined4 ******)local_a8[0xd]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xd]" identifier [ number_literal ]))) ;) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" if (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar26 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }" { (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[2];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[2]" identifier = (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "pppppuVar14 = ((undefined4 *******)local_b4)[5];" (assignment_expression "pppppuVar14 = ((undefined4 *******)local_b4)[5]" identifier = (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (if_statement "if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }" if (parenthesized_expression "((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14)" ( (binary_expression "(undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14" (cast_expression "(undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333)" ( (binary_expression "((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333" (parenthesized_expression "((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2)" ( (binary_expression "(int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2" (binary_expression "(int)pppppuVar26[0x38] - (int)pppppuVar26[0x37]" (cast_expression "(int)pppppuVar26[0x38]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x38]" identifier [ number_literal ])) - (cast_expression "(int)pppppuVar26[0x37]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x37]" identifier [ number_literal ]))) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4773f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4746e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c246;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c246" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" if (parenthesized_expression "((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40)" ( (binary_expression "*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40" (pointer_expression "*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" * (cast_expression "(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" ( (binary_expression "(int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb" (binary_expression "(int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14" (cast_expression "(int)pppppuVar26[0x37]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar26[0x37]" identifier [ number_literal ])) + (binary_expression "(int)pppppuVar14 * 0x14" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  pppppuVar34 = ppppppuVar11[8];\n                }" { (expression_statement "pppppuVar34 = ppppppuVar11[8];" (assignment_expression "pppppuVar34 = ppppppuVar11[8]" identifier = (subscript_expression "ppppppuVar11[8]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" else (compound_statement "{\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" { (expression_statement "pppppuVar34 = ppppppuVar11[7];" (assignment_expression "pppppuVar34 = ppppppuVar11[7]" identifier = (subscript_expression "ppppppuVar11[7]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }" if (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }" { (expression_statement "*(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;" (assignment_expression "*(int *)(puVar35 + -4) = (int)pppppuVar14 * 5" (pointer_expression "*(int *)(puVar35 + -4)" * (cast_expression "(int *)(puVar35 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = (binary_expression "(int)pppppuVar14 * 5" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x477bb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x372;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x372" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c3bb" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "ppppuVar17 = *pppppuVar26;" (assignment_expression "ppppuVar17 = *pppppuVar26" identifier = (pointer_expression "*pppppuVar26" * identifier)) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar35 + -0xc) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar35 + -0xc)" * (cast_expression "(undefined4 ******)(puVar35 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" * (cast_expression "(undefined4 ******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppuVar6 = ppppuVar17[0x2a];" (assignment_expression "pppuVar6 = ppppuVar17[0x2a]" identifier = (subscript_expression "ppppuVar17[0x2a]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b915;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b915" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();" (assignment_expression "ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)()" identifier = (cast_expression "(undefined4 ****)(*(code *)pppuVar6)()" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)pppuVar6)()" (parenthesized_expression "(*(code *)pppuVar6)" ( (pointer_expression "*(code *)pppuVar6" * (cast_expression "(code *)pppuVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }) (else_clause "else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" else (compound_statement "{\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" { (if_statement "if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }" if (parenthesized_expression "(((uint)pppppuVar26[10] & 0xf) == 10)" ( (binary_expression "((uint)pppppuVar26[10] & 0xf) == 10" (parenthesized_expression "((uint)pppppuVar26[10] & 0xf)" ( (binary_expression "(uint)pppppuVar26[10] & 0xf" (cast_expression "(uint)pppppuVar26[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[10]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }" { (if_statement "if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;" if (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppuVar26 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2a)" * (cast_expression "(byte *)((int)pppppuVar26 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2a)" ( (binary_expression "(int)pppppuVar26 + 0x2a" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008b9a0;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }" if (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)pppppuVar26 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2a)" * (cast_expression "(byte *)((int)pppppuVar26 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2a)" ( (binary_expression "(int)pppppuVar26 + 0x2a" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }" { (while_statement "while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }" { (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" * (cast_expression "(undefined4 ******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b982;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b982" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar7 = FUN_000a7920();" (assignment_expression "cVar7 = FUN_000a7920()" identifier = (call_expression "FUN_000a7920()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') break;" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "pppppuVar34 = ppppppuVar11[7];" (assignment_expression "pppppuVar34 = ppppppuVar11[7]" identifier = (subscript_expression "ppppppuVar11[7]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;" if (parenthesized_expression "(pppppuVar34 != (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 != (undefined4 *****)0x0" identifier != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0008b6e1;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8b99d;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8b99d" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00051cf0();" (call_expression "FUN_00051cf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppppppuVar11 = (undefined4 ******)0x0;" (assignment_expression "ppppppuVar11 = (undefined4 ******)0x0" identifier = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (labeled_statement "LAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;" statement_identifier : (if_statement "if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;" if (parenthesized_expression "((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0))))" ( (binary_expression "(((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))" (parenthesized_expression "(((uint)pppppuVar26[2][0xb] & 1) != 0)" ( (binary_expression "((uint)pppppuVar26[2][0xb] & 1) != 0" (parenthesized_expression "((uint)pppppuVar26[2][0xb] & 1)" ( (binary_expression "(uint)pppppuVar26[2][0xb] & 1" (cast_expression "(uint)pppppuVar26[2][0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar26[2][0xb]" (subscript_expression "pppppuVar26[2]" identifier [ number_literal ]) [ number_literal ])) & number_literal) )) != number_literal) )) || (parenthesized_expression "((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))" ( (parenthesized_expression "(pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0))" ( (binary_expression "pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)" (binary_expression "pppppuVar26[3] == (undefined4 ****)0x0" (subscript_expression "pppppuVar26[3]" identifier [ number_literal ]) == (cast_expression "(undefined4 ****)0x0" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) && (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)pppppuVar26 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2b)" * (cast_expression "(byte *)((int)pppppuVar26 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar26 + 0x2b)" ( (binary_expression "(int)pppppuVar26 + 0x2b" (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (break_statement "break;" break ;))) })) })) })) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "pppppuVar34 = ppppppuVar11[6];" (assignment_expression "pppppuVar34 = ppppppuVar11[6]" identifier = (subscript_expression "ppppppuVar11[6]" identifier [ number_literal ])) ;) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar34 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x36a;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x36a" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c2e9" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0008b6e1:\n                ppppppuVar31 = local_ac;" statement_identifier : (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;)) (expression_statement "ppppuVar17 = pppppuVar26[6];" (assignment_expression "ppppuVar17 = pppppuVar26[6]" identifier = (subscript_expression "pppppuVar26[6]" identifier [ number_literal ])) ;) (if_statement "if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0xffffffff)" ( (binary_expression "ppppuVar17 == (undefined4 ****)0xffffffff" identifier == (cast_expression "(undefined4 ****)0xffffffff" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x477c1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x11d0d2" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c12f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c12f" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "uVar39 = local_f0;" (assignment_expression "uVar39 = local_f0" identifier = identifier) ;) (if_statement "if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)pppppuVar34[7] & 1) == 0)" ( (binary_expression "((uint)pppppuVar34[7] & 1) == 0" (parenthesized_expression "((uint)pppppuVar34[7] & 1)" ( (binary_expression "(uint)pppppuVar34[7] & 1" (cast_expression "(uint)pppppuVar34[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppuVar34[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c150;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c150" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0xd];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0xd]" identifier = (cast_expression "(undefined4 ******)local_a8[0xd]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[0xd]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }" if (parenthesized_expression "(ppppppuVar11[5] == (undefined4 *****)0x0)" ( (binary_expression "ppppppuVar11[5] == (undefined4 *****)0x0" (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ]) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x4780e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x3ae;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x3ae" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x4745f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c171;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c171" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppuVar5 = ppppppuVar11[5][8];" (assignment_expression "ppppuVar5 = ppppppuVar11[5][8]" identifier = (subscript_expression "ppppppuVar11[5][8]" (subscript_expression "ppppppuVar11[5]" identifier [ number_literal ]) [ number_literal ])) ;) (if_statement "if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)ppppuVar5[7] & 1) == 0)" ( (binary_expression "((uint)ppppuVar5[7] & 1) == 0" (parenthesized_expression "((uint)ppppuVar5[7] & 1)" ( (binary_expression "(uint)ppppuVar5[7] & 1" (cast_expression "(uint)ppppuVar5[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppuVar5[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c012;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c012" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = -(int)ppppuVar5[1];" (assignment_expression "iVar19 = -(int)ppppuVar5[1]" identifier = (unary_expression "-(int)ppppuVar5[1]" - (cast_expression "(int)ppppuVar5[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppuVar5[1]" identifier [ number_literal ])))) ;) (expression_statement "pppppuVar26 = ppppppuVar11[0x2c];" (assignment_expression "pppppuVar26 = ppppppuVar11[0x2c]" identifier = (subscript_expression "ppppppuVar11[0x2c]" identifier [ number_literal ])) ;) (expression_statement "uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;" (assignment_expression "uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10" identifier = (binary_expression "(uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10" (call_expression "(uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19)" ( (binary_expression "(int)pppppuVar34[1] + (int)ppppuVar17 + iVar19" (binary_expression "(int)pppppuVar34[1] + (int)ppppuVar17" (cast_expression "(int)pppppuVar34[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[1]" identifier [ number_literal ])) + (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier)) + identifier) ))) >> number_literal)) ;) (expression_statement "uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;" (assignment_expression "uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc" identifier = (binary_expression "-(uint)(uVar20 == 0) & 0xfffffffc" (unary_expression "-(uint)(uVar20 == 0)" - (call_expression "(uint)(uVar20 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )))) & number_literal)) ;) (expression_statement "iVar22 = uVar32 + 0x14;" (assignment_expression "iVar22 = uVar32 + 0x14" identifier = (binary_expression "uVar32 + 0x14" identifier + number_literal)) ;) (if_statement "if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }" if (parenthesized_expression "((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]))))" ( (binary_expression "(ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))" (parenthesized_expression "(ppppppuVar11[0x2d] != (undefined4 *****)0x0)" ( (binary_expression "ppppppuVar11[0x2d] != (undefined4 *****)0x0" (subscript_expression "ppppppuVar11[0x2d]" identifier [ number_literal ]) != (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))" ( (parenthesized_expression "(((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]))" ( (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])" (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26" (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) == (cast_expression "(undefined4 ******)pppppuVar26" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) || (parenthesized_expression "(((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])" ( (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]" (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]) == (cast_expression "(undefined4 ******)ppppppuVar11[0x2d]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppuVar11[0x2d]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n                iVar22 = uVar32 + 0x48;\n              }" { (expression_statement "iVar22 = uVar32 + 0x48;" (assignment_expression "iVar22 = uVar32 + 0x48" identifier = (binary_expression "uVar32 + 0x48" identifier + number_literal)) ;) })) (expression_statement "pppppuVar14 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_c4)[2]" identifier = (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ]))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)pppppuVar26" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)ppppppuVar11[2] & 2) == 0)" ( (binary_expression "((uint)ppppppuVar11[2] & 2) == 0" (parenthesized_expression "((uint)ppppppuVar11[2] & 2)" ( (binary_expression "(uint)ppppppuVar11[2] & 2" (cast_expression "(uint)ppppppuVar11[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppuVar11[2]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }" { (if_statement "if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }" if (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }" { (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c225;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c225" (pointer_expression "*(undefined4 *)(puVar35 + -4)" * (cast_expression "(undefined4 *)(puVar35 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -4)" ( (binary_expression "puVar35 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;" (assignment_expression "iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4" identifier = (binary_expression "(*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4" (parenthesized_expression "(*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2)" ( (binary_expression "*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2" (binary_expression "*(byte *)((int)pppppuVar14 + 0x2bdd) + 1" (pointer_expression "*(byte *)((int)pppppuVar14 + 0x2bdd)" * (cast_expression "(byte *)((int)pppppuVar14 + 0x2bdd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x2bdd)" ( (binary_expression "(int)pppppuVar14 + 0x2bdd" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) + (binary_expression "(uint)*(byte *)(ppppppuVar11 + 0x27) * 2" (binary_expression "(uint)*(byte *)(ppppppuVar11 + 0x27)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(ppppppuVar11 + 0x27)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppuVar11 + 0x27)" ( (binary_expression "ppppppuVar11 + 0x27" identifier + number_literal) )))) * number_literal)) )) * number_literal)) ;) (if_statement "if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }" if (parenthesized_expression "(uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10)" ( (binary_expression "uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10" identifier != (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17" (cast_expression "(int)pppppuVar34[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppuVar34[1]" identifier [ number_literal ])) + (cast_expression "(int)ppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8" (binary_expression "(uint)*(byte *)((int)pppppuVar14 + 0x2bdd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppuVar14 + 0x2bdd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar14 + 0x2bdd)" ( (binary_expression "(int)pppppuVar14 + 0x2bdd" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) + identifier) + number_literal) >> number_literal)) )) (compound_statement "{\n                  iVar12 = iVar12 + 4;\n                }" { (expression_statement "iVar12 = iVar12 + 4;" (assignment_expression "iVar12 = iVar12 + 4" identifier = (binary_expression "iVar12 + 4" identifier + number_literal)) ;) })) (expression_statement "iVar22 = iVar22 + iVar12;" (assignment_expression "iVar22 = iVar22 + iVar12" identifier = (binary_expression "iVar22 + iVar12" identifier + identifier)) ;) }) (else_clause "else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" else (if_statement "if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" if (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar14 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b886;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b886" (pointer_expression "*(undefined **)(puVar35 + -0x14)" * (cast_expression "(undefined **)(puVar35 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008b886" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })))) (if_statement "if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" if (parenthesized_expression "(*(char *)(pppppuVar14 + 0xac7) == '\0')" ( (binary_expression "*(char *)(pppppuVar14 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar14 + 0xac7)" * (cast_expression "(char *)(pppppuVar14 + 0xac7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppuVar14 + 0xac7)" ( (binary_expression "pppppuVar14 + 0xac7" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }" { (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" identifier = number_literal) ;) }) (else_clause "else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" else (compound_statement "{\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" { (expression_statement "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)pppppuVar14[0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)pppppuVar14[0xac8] & 0x1f)" ( (binary_expression "(byte)pppppuVar14[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar14[0xac8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pppppuVar14[0xac8]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "uVar20 = -iVar19;" (assignment_expression "uVar20 = -iVar19" identifier = (unary_expression "-iVar19" - identifier)) ;) }))) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" * (cast_expression "(undefined4 *)(puVar35 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = local_f4;" (assignment_expression "ppppppuVar31 = local_f4" identifier = identifier) ;) (expression_statement "*(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;" (assignment_expression "*(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f" (pointer_expression "*(uint *)(puVar35 + -0xc)" * (cast_expression "(uint *)(puVar35 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "uVar39 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;" (assignment_expression "*(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19" (pointer_expression "*(uint *)(puVar35 + -0x24)" * (cast_expression "(uint *)(puVar35 + -0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = (binary_expression "uVar20 & iVar22 + -1 + iVar19" identifier & (binary_expression "iVar22 + -1 + iVar19" (binary_expression "iVar22 + -1" identifier + number_literal) + identifier))) ;) (expression_statement "*(uint *)(puVar35 + -0x28) = uVar39;" (assignment_expression "*(uint *)(puVar35 + -0x28) = uVar39" (pointer_expression "*(uint *)(puVar35 + -0x28)" * (cast_expression "(uint *)(puVar35 + -0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" identifier = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x2c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x2c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x30)" * (cast_expression "(undefined4 *******)(puVar35 + -0x30)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x30)" ( (binary_expression "puVar35 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" * (cast_expression "(undefined4 *)(puVar35 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x34)" ( (binary_expression "puVar35 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" * (cast_expression "(undefined4 *)(puVar35 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x38)" ( (binary_expression "puVar35 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = local_e4;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = local_e4" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x3c)" ( (binary_expression "puVar35 + -0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" * (cast_expression "(undefined4 *)(puVar35 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x40)" ( (binary_expression "puVar35 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b81a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b81a" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" * (cast_expression "(undefined4 *)(puVar35 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x44)" ( (binary_expression "puVar35 + -0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" identifier = (call_expression "FUN_001e98f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1)" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + 1)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)(undefined4 *******)local_dc + 1)" ( (binary_expression "(int)(undefined4 *******)local_dc + 1" (cast_expression "(int)(undefined4 *******)local_dc" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) + number_literal) )))) ;) }) while (parenthesized_expression "((undefined4 *******)local_dc < ppppppuVar11[0x11])" ( (binary_expression "(undefined4 *******)local_dc < ppppppuVar11[0x11]" (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) < (subscript_expression "ppppppuVar11[0x11]" identifier [ number_literal ])) )) ;) })) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_f8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_f8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b84e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b84e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);" (assignment_expression "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier = (call_expression "CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier (argument_list "(local_dc._4_4_,(undefined4 *******)local_dc)" ( (field_expression "local_dc._4_4_" identifier . field_identifier) , (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )))) ;) })) (expression_statement "local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);" (assignment_expression "local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20)" (field_expression "local_dc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 ******)((ulonglong)lVar45 >> 0x20)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((ulonglong)lVar45 >> 0x20)" ( (binary_expression "(ulonglong)lVar45 >> 0x20" (cast_expression "(ulonglong)lVar45" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[0x17];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[0x17]" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)local_a8[0x17]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "local_a8[0x17]" identifier [ number_literal ]))) ;) (if_statement "if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }" if (parenthesized_expression "((undefined4 *******)local_b4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }" { (expression_statement "local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82)" (field_expression "local_dc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)((int)local_ac + -0x11cf82)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_ac + -0x11cf82)" ( (binary_expression "(int)local_ac + -0x11cf82" (cast_expression "(int)local_ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);" do (compound_statement "{\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          }" { (expression_statement "ppppppuVar31 = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31 = (undefined4 *******)local_b4" identifier = (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }" if (parenthesized_expression "(*(char *)((undefined4 *******)local_b4 + 4) == '\0')" ( (binary_expression "*(char *)((undefined4 *******)local_b4 + 4) == '\0'" (pointer_expression "*(char *)((undefined4 *******)local_b4 + 4)" * (cast_expression "(char *)((undefined4 *******)local_b4 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined4 *******)local_b4 + 4)" ( (binary_expression "(undefined4 *******)local_b4 + 4" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }" { (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0x26;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0x26" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b00a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b00a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)FUN_002465f0();" (assignment_expression "pppppppuVar10 = (undefined4 *******)FUN_002465f0()" identifier = (cast_expression "(undefined4 *******)FUN_002465f0()" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_002465f0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" * (cast_expression "(undefined4 ******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (subscript_expression "ppppppuVar31[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x14)" * (cast_expression "(undefined4 ******)(puVar35 + -0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = (subscript_expression "ppppppuVar31[1]" identifier [ number_literal ])) ;) (expression_statement "local_bc = pppppppuVar10;" (assignment_expression "local_bc = pppppppuVar10" identifier = identifier) ;) (expression_statement "*(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x18)" * (cast_expression "(undefined4 ******)(puVar35 + -0x18)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = (subscript_expression "local_a8[0x24]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" * (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x20)" * (cast_expression "(undefined4 ********)(puVar35 + -0x20)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8b02f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8b02f" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));" (call_expression "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" identifier (argument_list "(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" ( (pointer_expression "*(char **)(puVar35 + -0x20)" * (cast_expression "(char **)(puVar35 + -0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar35 + -0x1c)" * (cast_expression "(char **)(puVar35 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }" if (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) )) [ number_literal ])) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47716" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c0f0" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" identifier = (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" number_literal << (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" ( (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*local_c4)" ( (pointer_expression "*local_c4" * identifier) ))) [ number_literal ]) [ number_literal ]) & number_literal) )))) ;) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" if (parenthesized_expression "(uVar39 < 0x20)" ( (binary_expression "uVar39 < 0x20" identifier < number_literal) )) (compound_statement "{\n                uVar39 = 0x20;\n              }" { (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" identifier = number_literal) ;) })) (if_statement "if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }" if (parenthesized_expression "(((uint)local_a8[7] & 1) == 0)" ( (binary_expression "((uint)local_a8[7] & 1) == 0" (parenthesized_expression "((uint)local_a8[7] & 1)" ( (binary_expression "(uint)local_a8[7] & 1" (cast_expression "(uint)local_a8[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }" { (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" * (cast_expression "(undefined4 *******)(puVar35 + -8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = (binary_expression "local_ac + -0x47743" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b090;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b090" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[1]" identifier = (cast_expression "(undefined4 ******)local_a8[1]" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "local_a8[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31)" identifier = (cast_expression "(undefined *)((uVar39 - 1) + (int)ppppppuVar31)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 - 1) + (int)ppppppuVar31)" ( (binary_expression "(uVar39 - 1) + (int)ppppppuVar31" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) + (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;" (assignment_expression "local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" identifier = (binary_expression "(uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)local_a8[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[0x1c] + (int)puVar23)" ( (binary_expression "(int)local_a8[0x1c] + (int)puVar23" (cast_expression "(int)local_a8[0x1c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) + (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & (unary_expression "-uVar39" - identifier))) ;) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[5];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[5]" identifier = (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) ;) (expression_statement "local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);" (assignment_expression "local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" identifier = (binary_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (call_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1))" ( (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_a8[0x1c],(uint)puVar23)" identifier (argument_list "((uint)local_a8[0x1c],(uint)puVar23)" ( (cast_expression "(uint)local_a8[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a8[0x1c]" identifier [ number_literal ])) , (cast_expression "(uint)puVar23" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39 - 1,(uint)ppppppuVar31)" identifier (argument_list "(uVar39 - 1,(uint)ppppppuVar31)" ( (binary_expression "uVar39 - 1" identifier - number_literal) , (cast_expression "(uint)ppppppuVar31" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (parenthesized_expression "((uVar39 != 0) - 1)" ( (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) - number_literal) ))) ))) & (unary_expression "-(uint)(uVar39 != 0)" - (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )))))) ;) (expression_statement "uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;" (assignment_expression "uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31" identifier = (binary_expression "(int)local_a8[0x1d] - (int)ppppppuVar31" (cast_expression "(int)local_a8[0x1d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1d]" identifier [ number_literal ])) - (cast_expression "(int)ppppppuVar31" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar20 = uVar39 + local_d4;" (assignment_expression "uVar20 = uVar39 + local_d4" identifier = (binary_expression "uVar39 + local_d4" identifier + identifier)) ;) (expression_statement "iVar19 = uVar20 + (int)pppppuVar26;" (assignment_expression "iVar19 = uVar20 + (int)pppppuVar26" identifier = (binary_expression "uVar20 + (int)pppppuVar26" identifier + (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);" (assignment_expression "uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26)" identifier = (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26)" (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4)" (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0" (parenthesized_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2])" ( (binary_expression "-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]" (unary_expression "-(uint)(local_a8[0x1d] < ppppppuVar31)" - (call_expression "(uint)(local_a8[0x1d] < ppppppuVar31)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_a8[0x1d] < ppppppuVar31)" ( (binary_expression "local_a8[0x1d] < ppppppuVar31" (subscript_expression "local_a8[0x1d]" identifier [ number_literal ]) < identifier) )))) - (cast_expression "(int)local_a8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[2]" identifier [ number_literal ]))) )) + identifier) + (cast_expression "(uint)CARRY4(uVar39,local_d4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar39,local_d4)" identifier (argument_list "(uVar39,local_d4)" ( identifier , identifier ))))) + (cast_expression "(uint)CARRY4(uVar20,(uint)pppppuVar26)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20,(uint)pppppuVar26)" identifier (argument_list "(uVar20,(uint)pppppuVar26)" ( identifier , (cast_expression "(uint)pppppuVar26" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (expression_statement "uVar39 = 0x2000000 - (int)local_a8[0x1e];" (assignment_expression "uVar39 = 0x2000000 - (int)local_a8[0x1e]" identifier = (binary_expression "0x2000000 - (int)local_a8[0x1e]" number_literal - (cast_expression "(int)local_a8[0x1e]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_a8[0x1e]" identifier [ number_literal ])))) ;) (expression_statement "uVar20 = uVar39 - local_d4;" (assignment_expression "uVar20 = uVar39 - local_d4" identifier = (binary_expression "uVar39 - local_d4" identifier - identifier)) ;) (expression_statement "pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1])" identifier = (cast_expression "(undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1])" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar20 + (int)((undefined4 *******)local_b4)[1])" ( (binary_expression "uVar20 + (int)((undefined4 *******)local_b4)[1]" identifier + (cast_expression "(int)((undefined4 *******)local_b4)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ]))) )))) ;) (expression_statement "iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));" (assignment_expression "iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" identifier = (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" (cast_expression "(int)((undefined4 *******)local_b4)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )) [ number_literal ])) + (parenthesized_expression "(((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" ( (binary_expression "((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26)" (parenthesized_expression "((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4)))" ( (binary_expression "(uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))" (cast_expression "(uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1])" identifier (argument_list "(uVar20,(uint)((undefined4 *******)local_b4)[1])" ( identifier , (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *******)local_b4)" ( (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ))) [ number_literal ]) )))) + (parenthesized_expression "((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))" ( (binary_expression "(-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4)" (parenthesized_expression "(-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e]))" ( (binary_expression "-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])" (unary_expression "-local_d0" - identifier) - (call_expression "(uint)((undefined4 ******)0x2000000 < local_a8[0x1e])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 ******)0x2000000 < local_a8[0x1e])" ( (binary_expression "(undefined4 ******)0x2000000 < local_a8[0x1e]" (cast_expression "(undefined4 ******)0x2000000" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) < (subscript_expression "local_a8[0x1e]" identifier [ number_literal ])) )))) )) - (call_expression "(uint)(uVar39 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 < local_d4)" ( (binary_expression "uVar39 < local_d4" identifier < identifier) )))) ))) )) - (call_expression "(uint)(pppppuVar14 < pppppuVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppuVar14 < pppppuVar26)" ( (binary_expression "pppppuVar14 < pppppuVar26" identifier < identifier) )))) )))) ;) (expression_statement "uVar9 = 4;" (assignment_expression "uVar9 = 4" identifier = number_literal) ;) (if_statement "if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }" if (parenthesized_expression "(iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26)))" ( (binary_expression "iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (binary_expression "iVar22 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (binary_expression "(uint)-iVar22" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" ( (binary_expression "0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26)" number_literal < (call_expression "(uint)((int)pppppuVar14 - (int)pppppuVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppuVar14 - (int)pppppuVar26)" ( (binary_expression "(int)pppppuVar14 - (int)pppppuVar26" (cast_expression "(int)pppppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppuVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))))) )) (compound_statement "{\n                uVar9 = 0x10;\n              }" { (expression_statement "uVar9 = 0x10;" (assignment_expression "uVar9 = 0x10" identifier = number_literal) ;) })) (expression_statement "local_cc._0_4_ = (undefined4 *******)iVar19;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)iVar19" (field_expression "local_cc._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)iVar19" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_cc._4_4_ = (undefined4 *****)uVar32;" (assignment_expression "local_cc._4_4_ = (undefined4 *****)uVar32" (field_expression "local_cc._4_4_" identifier . field_identifier) = (cast_expression "(undefined4 *****)uVar32" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" * (cast_expression "(undefined4 *)(puVar35 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;" (assignment_expression "*(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f" (pointer_expression "*(uint *)(puVar35 + -0xc)" * (cast_expression "(uint *)(puVar35 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = (binary_expression "uVar32 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar35 + -0x28) = uVar32;" (assignment_expression "*(uint *)(puVar35 + -0x28) = uVar32" (pointer_expression "*(uint *)(puVar35 + -0x28)" * (cast_expression "(uint *)(puVar35 + -0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar35 + -0x2c) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x2c) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x2c)" * (cast_expression "(int *)(puVar35 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x30) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x30) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x30)" * (cast_expression "(undefined4 *******)(puVar35 + -0x30)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x30)" ( (binary_expression "puVar35 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" * (cast_expression "(undefined4 *)(puVar35 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x34)" ( (binary_expression "puVar35 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" * (cast_expression "(undefined4 *)(puVar35 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x38)" ( (binary_expression "puVar35 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x3c)" ( (binary_expression "puVar35 + -0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" * (cast_expression "(undefined4 *)(puVar35 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x40)" ( (binary_expression "puVar35 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b31a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b31a" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" * (cast_expression "(undefined4 *)(puVar35 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x44)" ( (binary_expression "puVar35 + -0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" identifier = (call_expression "FUN_001e98f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4" (field_expression "local_b4._0_4_" identifier . field_identifier) = (cast_expression "(undefined4 *******)*(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*(undefined4 *******)local_b4" * (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)))) ;) (expression_statement "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);" (assignment_expression "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier = (call_expression "CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" identifier (argument_list "(local_dc._4_4_,(undefined4 *******)local_dc)" ( (field_expression "local_dc._4_4_" identifier . field_identifier) , (cast_expression "(undefined4 *******)local_dc" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) )))) ;) }) while (parenthesized_expression "((undefined4 *******)local_b4 != (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) ;) })) (expression_statement "local_dc = lVar45;" (assignment_expression "local_dc = lVar45" identifier = identifier) ;) (expression_statement "local_104 = local_104 + 1;" (assignment_expression "local_104 = local_104 + 1" identifier = (binary_expression "local_104 + 1" identifier + number_literal)) ;) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" identifier = identifier) ;) }) while (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != local_104)" ( (binary_expression "*(undefined4 **)(param_1 + 0x50) != local_104" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" * (cast_expression "(undefined4 **)(param_1 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "iVar19 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x28)" identifier = (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) ))))) ;) (if_statement "if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }" { (expression_statement "uVar9 = 0x2c;" (assignment_expression "uVar9 = 0x2c" identifier = number_literal) ;) (if_statement "if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }" if (parenthesized_expression "((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2)" ( (binary_expression "*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2" (pointer_expression "*(byte *)(*(int *)(iVar19 + 0x2c) + 8)" * (cast_expression "(byte *)(*(int *)(iVar19 + 0x2c) + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 0x2c) + 8)" ( (binary_expression "*(int *)(iVar19 + 0x2c) + 8" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar9 = 0x38;\n      }" { (expression_statement "uVar9 = 0x38;" (assignment_expression "uVar9 = 0x38" identifier = number_literal) ;) })) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" * (cast_expression "(undefined4 *)(puVar35 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -8)" ( (binary_expression "puVar35 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" * (cast_expression "(undefined4 *)(puVar35 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0xc)" ( (binary_expression "puVar35 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" * (cast_expression "(undefined4 *)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" * (cast_expression "(undefined4 *)(puVar35 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x18)" ( (binary_expression "puVar35 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" * (cast_expression "(undefined4 *)(puVar35 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x1c)" ( (binary_expression "puVar35 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" * (cast_expression "(undefined4 *)(puVar35 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x20)" ( (binary_expression "puVar35 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" * (cast_expression "(undefined4 *)(puVar35 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x24)" ( (binary_expression "puVar35 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x28) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x28) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x28)" * (cast_expression "(undefined4 *)(puVar35 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x28)" ( (binary_expression "puVar35 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x2c) = 8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x2c) = 8" (pointer_expression "*(undefined4 *)(puVar35 + -0x2c)" * (cast_expression "(undefined4 *)(puVar35 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x2c)" ( (binary_expression "puVar35 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar35 + -0x30) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x30) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x30)" * (cast_expression "(int *)(puVar35 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x30)" ( (binary_expression "puVar35 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" * (cast_expression "(undefined4 *)(puVar35 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x34)" ( (binary_expression "puVar35 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" * (cast_expression "(undefined4 *)(puVar35 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x38)" ( (binary_expression "puVar35 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" * (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x3c)" ( (binary_expression "puVar35 + -0x3c" identifier + number_literal) )))) = (binary_expression "ppppppuVar31 + -0x473db" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" * (cast_expression "(undefined4 *)(puVar35 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x40)" ( (binary_expression "puVar35 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b3a7" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" * (cast_expression "(undefined4 *)(puVar35 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x44)" ( (binary_expression "puVar35 + -0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" identifier = (call_expression "FUN_001e98f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" * (cast_expression "(undefined4 *)(iVar19 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) = number_literal) ;) })) })) (labeled_statement "LAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;" statement_identifier : (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_10c;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_10c" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" * (cast_expression "(undefined4 *******)(puVar35 + -0x10)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ad0e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000a91a0();" (call_expression "FUN_000a91a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return (uint)local_fc & 0xff;" return (binary_expression "(uint)local_fc & 0xff" (cast_expression "(uint)local_fc" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ])))))) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT & LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) }))) (expression_statement (call_expression 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ])) & (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]))) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ]))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )) [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ))) [ LIT ]) [ LIT ]) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) & (unary_expression - IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression LIT << (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )))) & LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]))) ;) })) }) (else_clause else (compound_statement { }))) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) + (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ))))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ))) <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ])))) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) % (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_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) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ IDENT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) % (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ])) ]) = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * (subscript_expression IDENT [ IDENT ])))) ;) (expression_statement (assignment_expression (pointer_expression * (subscript_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) [ IDENT ])) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == BOOL) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )))) )) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))) - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) , IDENT ))))) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression IDENT * LIT)) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) ))) & LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ IDENT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) & LIT) )) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) & LIT) )) - LIT) ]))) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + IDENT) + LIT) & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression IDENT [ LIT ]) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) >> LIT) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]))) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)))) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) >> LIT) ))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression IDENT [ LIT ]) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ))))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + IDENT) + IDENT) + LIT) ))) & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) [ LIT ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ])) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + LIT) )))) = LIT) ;) })) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) [ LIT ]) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & (unary_expression - IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) , (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) ))))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) ))) ))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) != IDENT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) != IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))) & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) [ LIT ]) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) , (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) ))))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & (unary_expression - IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))) )) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ))) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + LIT) < LIT) )) (compound_statement { (return_statement return LIT ;) })) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression IDENT != IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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) )))) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) [ LIT ]) & LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT) < IDENT) ))) <= (unary_expression - IDENT))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) || (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) [ LIT ]) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) , (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) & (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression - IDENT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) - (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) || (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ))))) )) (compound_statement { (expression_statement (assignment_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) (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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (unary_expression ! IDENT)) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) & (unary_expression - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )))) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) && (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 IDENT + LIT) )))) + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor 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) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' character '))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_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 *)) ) (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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 *)) ) (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 * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) ;) })) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT) )))) & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) ;) (for_statement for ( (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ]) = IDENT) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) || (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) != IDENT) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) }))) }))) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT) ))) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT) & (binary_expression (unary_expression ~ (parenthesized_expression ( IDENT ))) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + IDENT) + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) + LIT) + (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )))) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) [ LIT ]) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & (unary_expression - IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) ))) ))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) >> LIT) )) * LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) ))) )) (break_statement break ;))) })) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + IDENT) ))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) || (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) + IDENT) + LIT) >> LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & (binary_expression (binary_expression IDENT + LIT) + IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) [ LIT ]) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) ))) ))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) )))) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )) [ LIT ])) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) ))) [ LIT ]) )))) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - IDENT) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT) < (subscript_expression IDENT [ LIT ])) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = 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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ;) })))
(function_definition "uint FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)\n\n{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}" (type_identifier "uint") (function_declarator "FUN_00088e70(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)" (identifier "FUN_00088e70") (parameter_list "(int param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) (compound_statement "{\n  undefined4 *****pppppuVar1;\n  undefined4 *****pppppuVar2;\n  code *pcVar3;\n  undefined4 ******ppppppuVar4;\n  undefined4 ****ppppuVar5;\n  undefined4 ***pppuVar6;\n  char cVar7;\n  undefined4 ******ppppppuVar8;\n  undefined4 uVar9;\n  undefined4 *******pppppppuVar10;\n  undefined4 ******ppppppuVar11;\n  int iVar12;\n  int *piVar13;\n  undefined4 *****pppppuVar14;\n  size_t sVar15;\n  undefined4 *******pppppppuVar16;\n  undefined4 ****ppppuVar17;\n  char *pcVar18;\n  int iVar19;\n  uint uVar20;\n  undefined2 *puVar21;\n  int iVar22;\n  undefined *puVar23;\n  undefined8 **ppuVar24;\n  undefined8 **ppuVar25;\n  undefined4 *****pppppuVar26;\n  byte bVar27;\n  undefined4 *puVar28;\n  undefined4 ******ppppppuVar29;\n  undefined4 *******pppppppuVar30;\n  undefined4 ******ppppppuVar31;\n  uint uVar32;\n  undefined4 *******unaff_EBX;\n  undefined4 ******ppppppuVar33;\n  undefined4 *****pppppuVar34;\n  undefined1 *puVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  undefined1 *puVar38;\n  uint uVar39;\n  int *piVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  longlong lVar44;\n  longlong lVar45;\n  undefined1 auStack_14c [12];\n  undefined4 *****local_140;\n  undefined4 ******local_13c;\n  undefined4 ******local_138;\n  undefined4 ******local_134;\n  uint local_130;\n  undefined4 ******local_12c;\n  uint local_128;\n  bool local_121;\n  undefined4 ******local_120;\n  undefined4 ******local_11c;\n  uint local_118;\n  undefined4 ******local_114;\n  undefined4 ******local_110;\n  undefined4 ******local_10c;\n  undefined4 ******local_108;\n  undefined4 *local_104;\n  uint local_100;\n  undefined4 ******local_fc;\n  undefined4 ******local_f8;\n  undefined4 ******local_f4;\n  uint local_f0;\n  undefined4 *****local_ec;\n  uint local_e8;\n  undefined4 ******local_e4;\n  undefined4 ****local_e0;\n  undefined8 local_dc;\n  uint local_d4;\n  uint local_d0;\n  undefined8 local_cc;\n  undefined4 ******local_c4;\n  uint local_c0;\n  undefined4 ******local_bc;\n  int local_b8;\n  undefined8 local_b4;\n  undefined4 ******local_ac;\n  undefined4 ******local_a8;\n  undefined1 local_a4 [8];\n  undefined1 local_9c [8];\n  char local_94 [4];\n  undefined4 ******local_90;\n  undefined4 ******local_8c;\n  char local_88;\n  undefined1 local_84 [4];\n  char local_80;\n  undefined4 *****local_71 [2];\n  undefined8 *local_68 [3];\n  undefined8 local_5c;\n  undefined4 ******local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  undefined4 ******local_40;\n  undefined4 ******local_3c;\n  undefined4 ******local_38;\n  undefined4 ******local_34;\n  undefined4 ******local_30;\n  undefined4 ******local_2c;\n  undefined4 ****local_28;\n  undefined4 ****local_24;\n  undefined4 ****local_20;\n  \n  puVar35 = auStack_14c;\n  local_ac = (undefined4 ******)&__DT_PLTGOT;\n  if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }\n  puVar35 = auStack_14c;\n  puVar36 = auStack_14c;\n  local_fc = (undefined4 *******)0x0;\n  if (iVar19 == 4) {\n    local_fc = local_110;\n  }\n  local_114 = local_ac + 0x13a;\n  local_a8 = *(undefined4 *******)(param_1 + 0x74);\n  local_f8 = local_114;\n  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }\n  local_f4 = *(undefined4 *******)(param_1 + 100);\n  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);\n  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }\n  ppppppuVar31 = local_ac;\n  if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }\n  piVar13 = *(int **)(param_1 + 0x50);\n  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);\n  if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }\n  goto LAB_0008a784;\nLAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);\n  local_e4 = local_54;\n  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;\n  do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);\n  local_e4 = (undefined4 *******)0x0;\n  pppppppuVar10 = (undefined4 *******)local_ac;\n  goto joined_r0x0008acfa;\nLAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }\nLAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;\n  local_5c._4_4_ = (undefined4 *******)0x1;\n  local_10c = (undefined4 ******)&local_5c;\n  local_54 = (undefined4 *******)0x0;\n  local_50 = 0;\n  local_4c = 0x3f800000;\n  local_48 = 0;\n  local_44 = 0;\nLAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;\njoined_r0x0008acfa:\n  local_ac = pppppppuVar10;\n  if ((char)local_fc != '\0') goto LAB_0008ad00;\n  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }\n  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }\nLAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;\n  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;\n  FUN_000a91a0();\n  return (uint)local_fc & 0xff;\n}" ({ "{") (declaration "undefined4 *****pppppuVar1;" (type_identifier "undefined4") (pointer_declarator "*****pppppuVar1" (* "*") (pointer_declarator "****pppppuVar1" (* "*") (pointer_declarator "***pppppuVar1" (* "*") (pointer_declarator "**pppppuVar1" (* "*") (pointer_declarator "*pppppuVar1" (* "*") (identifier "pppppuVar1")))))) (; ";")) (declaration "undefined4 *****pppppuVar2;" (type_identifier "undefined4") (pointer_declarator "*****pppppuVar2" (* "*") (pointer_declarator "****pppppuVar2" (* "*") (pointer_declarator "***pppppuVar2" (* "*") (pointer_declarator "**pppppuVar2" (* "*") (pointer_declarator "*pppppuVar2" (* "*") (identifier "pppppuVar2")))))) (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "undefined4 ******ppppppuVar4;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar4" (* "*") (pointer_declarator "*****ppppppuVar4" (* "*") (pointer_declarator "****ppppppuVar4" (* "*") (pointer_declarator "***ppppppuVar4" (* "*") (pointer_declarator "**ppppppuVar4" (* "*") (pointer_declarator "*ppppppuVar4" (* "*") (identifier "ppppppuVar4"))))))) (; ";")) (declaration "undefined4 ****ppppuVar5;" (type_identifier "undefined4") (pointer_declarator "****ppppuVar5" (* "*") (pointer_declarator "***ppppuVar5" (* "*") (pointer_declarator "**ppppuVar5" (* "*") (pointer_declarator "*ppppuVar5" (* "*") (identifier "ppppuVar5"))))) (; ";")) (declaration "undefined4 ***pppuVar6;" (type_identifier "undefined4") (pointer_declarator "***pppuVar6" (* "*") (pointer_declarator "**pppuVar6" (* "*") (pointer_declarator "*pppuVar6" (* "*") (identifier "pppuVar6")))) (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "undefined4 ******ppppppuVar8;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar8" (* "*") (pointer_declarator "*****ppppppuVar8" (* "*") (pointer_declarator "****ppppppuVar8" (* "*") (pointer_declarator "***ppppppuVar8" (* "*") (pointer_declarator "**ppppppuVar8" (* "*") (pointer_declarator "*ppppppuVar8" (* "*") (identifier "ppppppuVar8"))))))) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 *******pppppppuVar10;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar10" (* "*") (pointer_declarator "******pppppppuVar10" (* "*") (pointer_declarator "*****pppppppuVar10" (* "*") (pointer_declarator "****pppppppuVar10" (* "*") (pointer_declarator "***pppppppuVar10" (* "*") (pointer_declarator "**pppppppuVar10" (* "*") (pointer_declarator "*pppppppuVar10" (* "*") (identifier "pppppppuVar10")))))))) (; ";")) (declaration "undefined4 ******ppppppuVar11;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar11" (* "*") (pointer_declarator "*****ppppppuVar11" (* "*") (pointer_declarator "****ppppppuVar11" (* "*") (pointer_declarator "***ppppppuVar11" (* "*") (pointer_declarator "**ppppppuVar11" (* "*") (pointer_declarator "*ppppppuVar11" (* "*") (identifier "ppppppuVar11"))))))) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "undefined4 *****pppppuVar14;" (type_identifier "undefined4") (pointer_declarator "*****pppppuVar14" (* "*") (pointer_declarator "****pppppuVar14" (* "*") (pointer_declarator "***pppppuVar14" (* "*") (pointer_declarator "**pppppuVar14" (* "*") (pointer_declarator "*pppppuVar14" (* "*") (identifier "pppppuVar14")))))) (; ";")) (declaration "size_t sVar15;" (primitive_type "size_t") (identifier "sVar15") (; ";")) (declaration "undefined4 *******pppppppuVar16;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar16" (* "*") (pointer_declarator "******pppppppuVar16" (* "*") (pointer_declarator "*****pppppppuVar16" (* "*") (pointer_declarator "****pppppppuVar16" (* "*") (pointer_declarator "***pppppppuVar16" (* "*") (pointer_declarator "**pppppppuVar16" (* "*") (pointer_declarator "*pppppppuVar16" (* "*") (identifier "pppppppuVar16")))))))) (; ";")) (declaration "undefined4 ****ppppuVar17;" (type_identifier "undefined4") (pointer_declarator "****ppppuVar17" (* "*") (pointer_declarator "***ppppuVar17" (* "*") (pointer_declarator "**ppppuVar17" (* "*") (pointer_declarator "*ppppuVar17" (* "*") (identifier "ppppuVar17"))))) (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "undefined2 *puVar21;" (type_identifier "undefined2") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "undefined *puVar23;" (type_identifier "undefined") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined8 **ppuVar24;" (type_identifier "undefined8") (pointer_declarator "**ppuVar24" (* "*") (pointer_declarator "*ppuVar24" (* "*") (identifier "ppuVar24"))) (; ";")) (declaration "undefined8 **ppuVar25;" (type_identifier "undefined8") (pointer_declarator "**ppuVar25" (* "*") (pointer_declarator "*ppuVar25" (* "*") (identifier "ppuVar25"))) (; ";")) (declaration "undefined4 *****pppppuVar26;" (type_identifier "undefined4") (pointer_declarator "*****pppppuVar26" (* "*") (pointer_declarator "****pppppuVar26" (* "*") (pointer_declarator "***pppppuVar26" (* "*") (pointer_declarator "**pppppuVar26" (* "*") (pointer_declarator "*pppppuVar26" (* "*") (identifier "pppppuVar26")))))) (; ";")) (declaration "byte bVar27;" (type_identifier "byte") (identifier "bVar27") (; ";")) (declaration "undefined4 *puVar28;" (type_identifier "undefined4") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "undefined4 ******ppppppuVar29;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar29" (* "*") (pointer_declarator "*****ppppppuVar29" (* "*") (pointer_declarator "****ppppppuVar29" (* "*") (pointer_declarator "***ppppppuVar29" (* "*") (pointer_declarator "**ppppppuVar29" (* "*") (pointer_declarator "*ppppppuVar29" (* "*") (identifier "ppppppuVar29"))))))) (; ";")) (declaration "undefined4 *******pppppppuVar30;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar30" (* "*") (pointer_declarator "******pppppppuVar30" (* "*") (pointer_declarator "*****pppppppuVar30" (* "*") (pointer_declarator "****pppppppuVar30" (* "*") (pointer_declarator "***pppppppuVar30" (* "*") (pointer_declarator "**pppppppuVar30" (* "*") (pointer_declarator "*pppppppuVar30" (* "*") (identifier "pppppppuVar30")))))))) (; ";")) (declaration "undefined4 ******ppppppuVar31;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar31" (* "*") (pointer_declarator "*****ppppppuVar31" (* "*") (pointer_declarator "****ppppppuVar31" (* "*") (pointer_declarator "***ppppppuVar31" (* "*") (pointer_declarator "**ppppppuVar31" (* "*") (pointer_declarator "*ppppppuVar31" (* "*") (identifier "ppppppuVar31"))))))) (; ";")) (declaration "uint uVar32;" (type_identifier "uint") (identifier "uVar32") (; ";")) (declaration "undefined4 *******unaff_EBX;" (type_identifier "undefined4") (pointer_declarator "*******unaff_EBX" (* "*") (pointer_declarator "******unaff_EBX" (* "*") (pointer_declarator "*****unaff_EBX" (* "*") (pointer_declarator "****unaff_EBX" (* "*") (pointer_declarator "***unaff_EBX" (* "*") (pointer_declarator "**unaff_EBX" (* "*") (pointer_declarator "*unaff_EBX" (* "*") (identifier "unaff_EBX")))))))) (; ";")) (declaration "undefined4 ******ppppppuVar33;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar33" (* "*") (pointer_declarator "*****ppppppuVar33" (* "*") (pointer_declarator "****ppppppuVar33" (* "*") (pointer_declarator "***ppppppuVar33" (* "*") (pointer_declarator "**ppppppuVar33" (* "*") (pointer_declarator "*ppppppuVar33" (* "*") (identifier "ppppppuVar33"))))))) (; ";")) (declaration "undefined4 *****pppppuVar34;" (type_identifier "undefined4") (pointer_declarator "*****pppppuVar34" (* "*") (pointer_declarator "****pppppuVar34" (* "*") (pointer_declarator "***pppppuVar34" (* "*") (pointer_declarator "**pppppuVar34" (* "*") (pointer_declarator "*pppppuVar34" (* "*") (identifier "pppppuVar34")))))) (; ";")) (declaration "undefined1 *puVar35;" (type_identifier "undefined1") (pointer_declarator "*puVar35" (* "*") (identifier "puVar35")) (; ";")) (declaration "undefined1 *puVar36;" (type_identifier "undefined1") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "undefined1 *puVar37;" (type_identifier "undefined1") (pointer_declarator "*puVar37" (* "*") (identifier "puVar37")) (; ";")) (declaration "undefined1 *puVar38;" (type_identifier "undefined1") (pointer_declarator "*puVar38" (* "*") (identifier "puVar38")) (; ";")) (declaration "uint uVar39;" (type_identifier "uint") (identifier "uVar39") (; ";")) (declaration "int *piVar40;" (primitive_type "int") (pointer_declarator "*piVar40" (* "*") (identifier "piVar40")) (; ";")) (declaration "bool bVar41;" (primitive_type "bool") (identifier "bVar41") (; ";")) (declaration "byte bVar42;" (type_identifier "byte") (identifier "bVar42") (; ";")) (declaration "undefined8 uVar43;" (type_identifier "undefined8") (identifier "uVar43") (; ";")) (declaration "longlong lVar44;" (type_identifier "longlong") (identifier "lVar44") (; ";")) (declaration "longlong lVar45;" (type_identifier "longlong") (identifier "lVar45") (; ";")) (declaration "undefined1 auStack_14c [12];" (type_identifier "undefined1") (array_declarator "auStack_14c [12]" (identifier "auStack_14c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined4 *****local_140;" (type_identifier "undefined4") (pointer_declarator "*****local_140" (* "*") (pointer_declarator "****local_140" (* "*") (pointer_declarator "***local_140" (* "*") (pointer_declarator "**local_140" (* "*") (pointer_declarator "*local_140" (* "*") (identifier "local_140")))))) (; ";")) (declaration "undefined4 ******local_13c;" (type_identifier "undefined4") (pointer_declarator "******local_13c" (* "*") (pointer_declarator "*****local_13c" (* "*") (pointer_declarator "****local_13c" (* "*") (pointer_declarator "***local_13c" (* "*") (pointer_declarator "**local_13c" (* "*") (pointer_declarator "*local_13c" (* "*") (identifier "local_13c"))))))) (; ";")) (declaration "undefined4 ******local_138;" (type_identifier "undefined4") (pointer_declarator "******local_138" (* "*") (pointer_declarator "*****local_138" (* "*") (pointer_declarator "****local_138" (* "*") (pointer_declarator "***local_138" (* "*") (pointer_declarator "**local_138" (* "*") (pointer_declarator "*local_138" (* "*") (identifier "local_138"))))))) (; ";")) (declaration "undefined4 ******local_134;" (type_identifier "undefined4") (pointer_declarator "******local_134" (* "*") (pointer_declarator "*****local_134" (* "*") (pointer_declarator "****local_134" (* "*") (pointer_declarator "***local_134" (* "*") (pointer_declarator "**local_134" (* "*") (pointer_declarator "*local_134" (* "*") (identifier "local_134"))))))) (; ";")) (declaration "uint local_130;" (type_identifier "uint") (identifier "local_130") (; ";")) (declaration "undefined4 ******local_12c;" (type_identifier "undefined4") (pointer_declarator "******local_12c" (* "*") (pointer_declarator "*****local_12c" (* "*") (pointer_declarator "****local_12c" (* "*") (pointer_declarator "***local_12c" (* "*") (pointer_declarator "**local_12c" (* "*") (pointer_declarator "*local_12c" (* "*") (identifier "local_12c"))))))) (; ";")) (declaration "uint local_128;" (type_identifier "uint") (identifier "local_128") (; ";")) (declaration "bool local_121;" (primitive_type "bool") (identifier "local_121") (; ";")) (declaration "undefined4 ******local_120;" (type_identifier "undefined4") (pointer_declarator "******local_120" (* "*") (pointer_declarator "*****local_120" (* "*") (pointer_declarator "****local_120" (* "*") (pointer_declarator "***local_120" (* "*") (pointer_declarator "**local_120" (* "*") (pointer_declarator "*local_120" (* "*") (identifier "local_120"))))))) (; ";")) (declaration "undefined4 ******local_11c;" (type_identifier "undefined4") (pointer_declarator "******local_11c" (* "*") (pointer_declarator "*****local_11c" (* "*") (pointer_declarator "****local_11c" (* "*") (pointer_declarator "***local_11c" (* "*") (pointer_declarator "**local_11c" (* "*") (pointer_declarator "*local_11c" (* "*") (identifier "local_11c"))))))) (; ";")) (declaration "uint local_118;" (type_identifier "uint") (identifier "local_118") (; ";")) (declaration "undefined4 ******local_114;" (type_identifier "undefined4") (pointer_declarator "******local_114" (* "*") (pointer_declarator "*****local_114" (* "*") (pointer_declarator "****local_114" (* "*") (pointer_declarator "***local_114" (* "*") (pointer_declarator "**local_114" (* "*") (pointer_declarator "*local_114" (* "*") (identifier "local_114"))))))) (; ";")) (declaration "undefined4 ******local_110;" (type_identifier "undefined4") (pointer_declarator "******local_110" (* "*") (pointer_declarator "*****local_110" (* "*") (pointer_declarator "****local_110" (* "*") (pointer_declarator "***local_110" (* "*") (pointer_declarator "**local_110" (* "*") (pointer_declarator "*local_110" (* "*") (identifier "local_110"))))))) (; ";")) (declaration "undefined4 ******local_10c;" (type_identifier "undefined4") (pointer_declarator "******local_10c" (* "*") (pointer_declarator "*****local_10c" (* "*") (pointer_declarator "****local_10c" (* "*") (pointer_declarator "***local_10c" (* "*") (pointer_declarator "**local_10c" (* "*") (pointer_declarator "*local_10c" (* "*") (identifier "local_10c"))))))) (; ";")) (declaration "undefined4 ******local_108;" (type_identifier "undefined4") (pointer_declarator "******local_108" (* "*") (pointer_declarator "*****local_108" (* "*") (pointer_declarator "****local_108" (* "*") (pointer_declarator "***local_108" (* "*") (pointer_declarator "**local_108" (* "*") (pointer_declarator "*local_108" (* "*") (identifier "local_108"))))))) (; ";")) (declaration "undefined4 *local_104;" (type_identifier "undefined4") (pointer_declarator "*local_104" (* "*") (identifier "local_104")) (; ";")) (declaration "uint local_100;" (type_identifier "uint") (identifier "local_100") (; ";")) (declaration "undefined4 ******local_fc;" (type_identifier "undefined4") (pointer_declarator "******local_fc" (* "*") (pointer_declarator "*****local_fc" (* "*") (pointer_declarator "****local_fc" (* "*") (pointer_declarator "***local_fc" (* "*") (pointer_declarator "**local_fc" (* "*") (pointer_declarator "*local_fc" (* "*") (identifier "local_fc"))))))) (; ";")) (declaration "undefined4 ******local_f8;" (type_identifier "undefined4") (pointer_declarator "******local_f8" (* "*") (pointer_declarator "*****local_f8" (* "*") (pointer_declarator "****local_f8" (* "*") (pointer_declarator "***local_f8" (* "*") (pointer_declarator "**local_f8" (* "*") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8"))))))) (; ";")) (declaration "undefined4 ******local_f4;" (type_identifier "undefined4") (pointer_declarator "******local_f4" (* "*") (pointer_declarator "*****local_f4" (* "*") (pointer_declarator "****local_f4" (* "*") (pointer_declarator "***local_f4" (* "*") (pointer_declarator "**local_f4" (* "*") (pointer_declarator "*local_f4" (* "*") (identifier "local_f4"))))))) (; ";")) (declaration "uint local_f0;" (type_identifier "uint") (identifier "local_f0") (; ";")) (declaration "undefined4 *****local_ec;" (type_identifier "undefined4") (pointer_declarator "*****local_ec" (* "*") (pointer_declarator "****local_ec" (* "*") (pointer_declarator "***local_ec" (* "*") (pointer_declarator "**local_ec" (* "*") (pointer_declarator "*local_ec" (* "*") (identifier "local_ec")))))) (; ";")) (declaration "uint local_e8;" (type_identifier "uint") (identifier "local_e8") (; ";")) (declaration "undefined4 ******local_e4;" (type_identifier "undefined4") (pointer_declarator "******local_e4" (* "*") (pointer_declarator "*****local_e4" (* "*") (pointer_declarator "****local_e4" (* "*") (pointer_declarator "***local_e4" (* "*") (pointer_declarator "**local_e4" (* "*") (pointer_declarator "*local_e4" (* "*") (identifier "local_e4"))))))) (; ";")) (declaration "undefined4 ****local_e0;" (type_identifier "undefined4") (pointer_declarator "****local_e0" (* "*") (pointer_declarator "***local_e0" (* "*") (pointer_declarator "**local_e0" (* "*") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0"))))) (; ";")) (declaration "undefined8 local_dc;" (type_identifier "undefined8") (identifier "local_dc") (; ";")) (declaration "uint local_d4;" (type_identifier "uint") (identifier "local_d4") (; ";")) (declaration "uint local_d0;" (type_identifier "uint") (identifier "local_d0") (; ";")) (declaration "undefined8 local_cc;" (type_identifier "undefined8") (identifier "local_cc") (; ";")) (declaration "undefined4 ******local_c4;" (type_identifier "undefined4") (pointer_declarator "******local_c4" (* "*") (pointer_declarator "*****local_c4" (* "*") (pointer_declarator "****local_c4" (* "*") (pointer_declarator "***local_c4" (* "*") (pointer_declarator "**local_c4" (* "*") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4"))))))) (; ";")) (declaration "uint local_c0;" (type_identifier "uint") (identifier "local_c0") (; ";")) (declaration "undefined4 ******local_bc;" (type_identifier "undefined4") (pointer_declarator "******local_bc" (* "*") (pointer_declarator "*****local_bc" (* "*") (pointer_declarator "****local_bc" (* "*") (pointer_declarator "***local_bc" (* "*") (pointer_declarator "**local_bc" (* "*") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc"))))))) (; ";")) (declaration "int local_b8;" (primitive_type "int") (identifier "local_b8") (; ";")) (declaration "undefined8 local_b4;" (type_identifier "undefined8") (identifier "local_b4") (; ";")) (declaration "undefined4 ******local_ac;" (type_identifier "undefined4") (pointer_declarator "******local_ac" (* "*") (pointer_declarator "*****local_ac" (* "*") (pointer_declarator "****local_ac" (* "*") (pointer_declarator "***local_ac" (* "*") (pointer_declarator "**local_ac" (* "*") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac"))))))) (; ";")) (declaration "undefined4 ******local_a8;" (type_identifier "undefined4") (pointer_declarator "******local_a8" (* "*") (pointer_declarator "*****local_a8" (* "*") (pointer_declarator "****local_a8" (* "*") (pointer_declarator "***local_a8" (* "*") (pointer_declarator "**local_a8" (* "*") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8"))))))) (; ";")) (declaration "undefined1 local_a4 [8];" (type_identifier "undefined1") (array_declarator "local_a4 [8]" (identifier "local_a4") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 local_9c [8];" (type_identifier "undefined1") (array_declarator "local_9c [8]" (identifier "local_9c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "char local_94 [4];" (primitive_type "char") (array_declarator "local_94 [4]" (identifier "local_94") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 ******local_90;" (type_identifier "undefined4") (pointer_declarator "******local_90" (* "*") (pointer_declarator "*****local_90" (* "*") (pointer_declarator "****local_90" (* "*") (pointer_declarator "***local_90" (* "*") (pointer_declarator "**local_90" (* "*") (pointer_declarator "*local_90" (* "*") (identifier "local_90"))))))) (; ";")) (declaration "undefined4 ******local_8c;" (type_identifier "undefined4") (pointer_declarator "******local_8c" (* "*") (pointer_declarator "*****local_8c" (* "*") (pointer_declarator "****local_8c" (* "*") (pointer_declarator "***local_8c" (* "*") (pointer_declarator "**local_8c" (* "*") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c"))))))) (; ";")) (declaration "char local_88;" (primitive_type "char") (identifier "local_88") (; ";")) (declaration "undefined1 local_84 [4];" (type_identifier "undefined1") (array_declarator "local_84 [4]" (identifier "local_84") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "char local_80;" (primitive_type "char") (identifier "local_80") (; ";")) (declaration "undefined4 *****local_71 [2];" (type_identifier "undefined4") (pointer_declarator "*****local_71 [2]" (* "*") (pointer_declarator "****local_71 [2]" (* "*") (pointer_declarator "***local_71 [2]" (* "*") (pointer_declarator "**local_71 [2]" (* "*") (pointer_declarator "*local_71 [2]" (* "*") (array_declarator "local_71 [2]" (identifier "local_71") ([ "[") (number_literal "2") (] "]"))))))) (; ";")) (declaration "undefined8 *local_68 [3];" (type_identifier "undefined8") (pointer_declarator "*local_68 [3]" (* "*") (array_declarator "local_68 [3]" (identifier "local_68") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined8 local_5c;" (type_identifier "undefined8") (identifier "local_5c") (; ";")) (declaration "undefined4 ******local_54;" (type_identifier "undefined4") (pointer_declarator "******local_54" (* "*") (pointer_declarator "*****local_54" (* "*") (pointer_declarator "****local_54" (* "*") (pointer_declarator "***local_54" (* "*") (pointer_declarator "**local_54" (* "*") (pointer_declarator "*local_54" (* "*") (identifier "local_54"))))))) (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "undefined4 ******local_40;" (type_identifier "undefined4") (pointer_declarator "******local_40" (* "*") (pointer_declarator "*****local_40" (* "*") (pointer_declarator "****local_40" (* "*") (pointer_declarator "***local_40" (* "*") (pointer_declarator "**local_40" (* "*") (pointer_declarator "*local_40" (* "*") (identifier "local_40"))))))) (; ";")) (declaration "undefined4 ******local_3c;" (type_identifier "undefined4") (pointer_declarator "******local_3c" (* "*") (pointer_declarator "*****local_3c" (* "*") (pointer_declarator "****local_3c" (* "*") (pointer_declarator "***local_3c" (* "*") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c"))))))) (; ";")) (declaration "undefined4 ******local_38;" (type_identifier "undefined4") (pointer_declarator "******local_38" (* "*") (pointer_declarator "*****local_38" (* "*") (pointer_declarator "****local_38" (* "*") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38"))))))) (; ";")) (declaration "undefined4 ******local_34;" (type_identifier "undefined4") (pointer_declarator "******local_34" (* "*") (pointer_declarator "*****local_34" (* "*") (pointer_declarator "****local_34" (* "*") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34"))))))) (; ";")) (declaration "undefined4 ******local_30;" (type_identifier "undefined4") (pointer_declarator "******local_30" (* "*") (pointer_declarator "*****local_30" (* "*") (pointer_declarator "****local_30" (* "*") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30"))))))) (; ";")) (declaration "undefined4 ******local_2c;" (type_identifier "undefined4") (pointer_declarator "******local_2c" (* "*") (pointer_declarator "*****local_2c" (* "*") (pointer_declarator "****local_2c" (* "*") (pointer_declarator "***local_2c" (* "*") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c"))))))) (; ";")) (declaration "undefined4 ****local_28;" (type_identifier "undefined4") (pointer_declarator "****local_28" (* "*") (pointer_declarator "***local_28" (* "*") (pointer_declarator "**local_28" (* "*") (pointer_declarator "*local_28" (* "*") (identifier "local_28"))))) (; ";")) (declaration "undefined4 ****local_24;" (type_identifier "undefined4") (pointer_declarator "****local_24" (* "*") (pointer_declarator "***local_24" (* "*") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24"))))) (; ";")) (declaration "undefined4 ****local_20;" (type_identifier "undefined4") (pointer_declarator "****local_20" (* "*") (pointer_declarator "***local_20" (* "*") (pointer_declarator "**local_20" (* "*") (pointer_declarator "*local_20" (* "*") (identifier "local_20"))))) (; ";")) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" (identifier "puVar35") (= "=") (identifier "auStack_14c")) (; ";")) (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" (identifier "local_ac") (= "=") (cast_expression "(undefined4 ******)&__DT_PLTGOT" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT")))) (; ";")) (if_statement "if (param_2 == 1) {\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }\n  else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" (if "if") (parenthesized_expression "(param_2 == 1)" (( "(") (binary_expression "param_2 == 1" (identifier "param_2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    local_c4 = (undefined4 ******)&DAT_004144e8;\n    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);\n    if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }\n    FUN_0006f600();\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }\n    local_120 = (undefined4 *******)0x0;\nLAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = 0;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n  }" ({ "{") (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" (identifier "local_c4") (= "=") (cast_expression "(undefined4 ******)&DAT_004144e8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8")))) (; ";")) (expression_statement "pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);" (assignment_expression "pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8)" (identifier "pppppuVar26") (= "=") (pointer_expression "*(undefined4 ******)(DAT_004144e8 + 8)" (* "*") (cast_expression "(undefined4 ******)(DAT_004144e8 + 8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(DAT_004144e8 + 8)" (( "(") (binary_expression "DAT_004144e8 + 8" (identifier "DAT_004144e8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 8) & 2) == 0) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }\n    else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 8) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 8) & 2) == 0" (parenthesized_expression "(*(byte *)(param_1 + 8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 8) & 2" (pointer_expression "*(byte *)(param_1 + 8)" (* "*") (cast_expression "(byte *)(param_1 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;\n      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);\n      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      *(char *)(param_1 + 0x9c) = cVar7;\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;\nLAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }\n    }" ({ "{") (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" (identifier "local_ac") (= "=") (cast_expression "(undefined4 ******)&__DT_PLTGOT" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c0b4;" (goto "goto") (statement_identifier "LAB_0008c0b4") (; ";"))) (expression_statement "cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);" (assignment_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x2c59)" (identifier "cVar7") (= "=") (pointer_expression "*(char *)((int)pppppuVar26 + 0x2c59)" (* "*") (cast_expression "(char *)((int)pppppuVar26 + 0x2c59)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x2c59)" (( "(") (binary_expression "(int)pppppuVar26 + 0x2c59" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x2c59")) () ")"))))) (; ";")) (if_statement "if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }" (if "if") (parenthesized_expression "(((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0'))" (( "(") (binary_expression "((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&\n         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')" (parenthesized_expression "((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0'))" (( "(") (binary_expression "(cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')" (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(pppppuVar26 + 0xb16) == '\0')" (( "(") (binary_expression "*(char *)(pppppuVar26 + 0xb16) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xb16)" (* "*") (cast_expression "(char *)(pppppuVar26 + 0xb16)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppuVar26 + 0xb16)" (( "(") (binary_expression "pppppuVar26 + 0xb16" (identifier "pppppuVar26") (+ "+") (number_literal "0xb16")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')" (( "(") (comma_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0'" (assignment_expression "cVar7 = *(char *)((int)pppppuVar26 + 0x1a25)" (identifier "cVar7") (= "=") (pointer_expression "*(char *)((int)pppppuVar26 + 0x1a25)" (* "*") (cast_expression "(char *)((int)pppppuVar26 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x1a25)" (( "(") (binary_expression "(int)pppppuVar26 + 0x1a25" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x1a25")) () ")"))))) (, ",") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);\n        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;\n        pcVar18 = "pthread_create";\n        local_c4 = (undefined4 ******)&DAT_004144e8;\n        while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }\n        pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n        bVar42 = (byte)local_b4;\n        goto LAB_0008b0b0;\n      }" ({ "{") (expression_statement "local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00)" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0xffffff00)" (( "(") (binary_expression "(uint)(undefined4 *******)local_b4 & 0xffffff00" (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (& "&") (number_literal "0xffffff00")) () ")")))) (; ";")) (expression_statement "local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;" (assignment_expression "local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" (identifier "local_a8") (= "=") (cast_expression "(undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4" (& "&") (identifier "PTR_s__ZNSt6thread15_M_start_threadESt_004065c4")))) (; ";")) (expression_statement "pcVar18 = "pthread_create";" (assignment_expression "pcVar18 = "pthread_create"" (identifier "pcVar18") (= "=") (string_literal ""pthread_create"" (" """) (string_content "pthread_create") (" """))) (; ";")) (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" (identifier "local_c4") (= "=") (cast_expression "(undefined4 ******)&DAT_004144e8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8")))) (; ";")) (while_statement "while( true ) {\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          unaff_EBX = (undefined4 *******)local_ac;\n          iVar19 = FUN_001e9100(param_4,pcVar18,0);\n          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }\n          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;\n          pcVar18 = (char *)*local_a8;\n          local_a8 = local_a8 + 1;\n        }" ({ "{") (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";")) (expression_statement "iVar19 = FUN_001e9100(param_4,pcVar18,0);" (assignment_expression "iVar19 = FUN_001e9100(param_4,pcVar18,0)" (identifier "iVar19") (= "=") (call_expression "FUN_001e9100(param_4,pcVar18,0)" (identifier "FUN_001e9100") (argument_list "(param_4,pcVar18,0)" (( "(") (identifier "param_4") (, ",") (identifier "pcVar18") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }" (if "if") (parenthesized_expression "(((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0))" (( "(") (binary_expression "((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&\n             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)" (parenthesized_expression "((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0'))" (( "(") (binary_expression "(iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')" (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar19 + 0x2a) < '\0')" (( "(") (binary_expression "*(char *)(iVar19 + 0x2a) < '\0'" (pointer_expression "*(char *)(iVar19 + 0x2a)" (* "*") (cast_expression "(char *)(iVar19 + 0x2a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2a)" (( "(") (binary_expression "iVar19 + 0x2a" (identifier "iVar19") (+ "+") (number_literal "0x2a")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)" (( "(") (comma_expression "bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0" (assignment_expression "bVar27 = *(byte *)(iVar19 + 0x2b) >> 6" (identifier "bVar27") (= "=") (binary_expression "*(byte *)(iVar19 + 0x2b) >> 6" (pointer_expression "*(byte *)(iVar19 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar19 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2b)" (( "(") (binary_expression "iVar19 + 0x2b" (identifier "iVar19") (+ "+") (number_literal "0x2b")) () ")")))) (>> ">>") (number_literal "6"))) (, ",") (comma_expression "bVar42 = bVar27 & 1, (bVar27 & 1) != 0" (assignment_expression "bVar42 = bVar27 & 1" (identifier "bVar42") (= "=") (binary_expression "bVar27 & 1" (identifier "bVar27") (& "&") (number_literal "1"))) (, ",") (binary_expression "(bVar27 & 1) != 0" (parenthesized_expression "(bVar27 & 1)" (( "(") (binary_expression "bVar27 & 1" (identifier "bVar27") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            goto LAB_0008b0b0;\n          }" ({ "{") (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (goto_statement "goto LAB_0008b0b0;" (goto "goto") (statement_identifier "LAB_0008b0b0") (; ";")) (} "}"))) (if_statement "if (local_a8 == (undefined4 ******)&DAT_0040661c) break;" (if "if") (parenthesized_expression "(local_a8 == (undefined4 ******)&DAT_0040661c)" (( "(") (binary_expression "local_a8 == (undefined4 ******)&DAT_0040661c" (identifier "local_a8") (== "==") (cast_expression "(undefined4 ******)&DAT_0040661c" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0040661c" (& "&") (identifier "DAT_0040661c")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar18 = (char *)*local_a8;" (assignment_expression "pcVar18 = (char *)*local_a8" (identifier "pcVar18") (= "=") (cast_expression "(char *)*local_a8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "local_a8 = local_a8 + 1;" (assignment_expression "local_a8 = local_a8 + 1" (identifier "local_a8") (= "=") (binary_expression "local_a8 + 1" (identifier "local_a8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "bVar42 = (byte)local_b4;" (assignment_expression "bVar42 = (byte)local_b4" (identifier "bVar42") (= "=") (cast_expression "(byte)local_b4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_b4"))) (; ";")) (goto_statement "goto LAB_0008b0b0;" (goto "goto") (statement_identifier "LAB_0008b0b0") (; ";")) (} "}"))) (expression_statement "ppppuVar17 = pppppuVar26[0xe2a];" (assignment_expression "ppppuVar17 = pppppuVar26[0xe2a]" (identifier "ppppuVar17") (= "=") (subscript_expression "pppppuVar26[0xe2a]" (identifier "pppppuVar26") ([ "[") (number_literal "0xe2a") (] "]"))) (; ";")) (expression_statement "*(char *)(param_1 + 0x9c) = cVar7;" (assignment_expression "*(char *)(param_1 + 0x9c) = cVar7" (pointer_expression "*(char *)(param_1 + 0x9c)" (* "*") (cast_expression "(char *)(param_1 + 0x9c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9c)" (( "(") (binary_expression "param_1 + 0x9c" (identifier "param_1") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (identifier "cVar7")) (; ";")) (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" (identifier "local_c4") (= "=") (cast_expression "(undefined4 ******)&DAT_004144e8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8")))) (; ";")) (if_statement "if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;" (if "if") (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0x1)" (( "(") (binary_expression "ppppuVar17 == (undefined4 ****)0x1" (identifier "ppppuVar17") (== "==") (cast_expression "(undefined4 ****)0x1" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) () ")")) (goto_statement "goto LAB_0008bbcb;" (goto "goto") (statement_identifier "LAB_0008bbcb") (; ";"))) (labeled_statement "LAB_0008b0d5:\n      if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" (statement_identifier "LAB_0008b0d5") (: ":") (if_statement "if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }\n      else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" (if "if") (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0xffffffff)" (( "(") (binary_expression "ppppuVar17 == (undefined4 ****)0xffffffff" (identifier "ppppuVar17") (== "==") (cast_expression "(undefined4 ****)0xffffffff" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;\n      }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0xa8) = 0xfe200000;" (assignment_expression "*(undefined4 *)(param_1 + 0xa8) = 0xfe200000" (pointer_expression "*(undefined4 *)(param_1 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (number_literal "0xfe200000")) (; ";")) (} "}")) (else_clause "else {\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" (else "else") (compound_statement "{\n        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;\n      }" ({ "{") (expression_statement "*(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;" (assignment_expression "*(undefined4 *****)(param_1 + 0xa8) = ppppuVar17" (pointer_expression "*(undefined4 *****)(param_1 + 0xa8)" (* "*") (cast_expression "(undefined4 *****)(param_1 + 0xa8)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (identifier "ppppuVar17")) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" (else "else") (compound_statement "{\n      local_c4 = (undefined4 ******)&DAT_004144e8;\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      bVar42 = 0;\nLAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;\n      puVar35 = auStack_14c;\n      if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }\n      ppppuVar17 = pppppuVar26[0xe2a];\n      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;\nLAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;\n    }" ({ "{") (expression_statement "local_c4 = (undefined4 ******)&DAT_004144e8;" (assignment_expression "local_c4 = (undefined4 ******)&DAT_004144e8" (identifier "local_c4") (= "=") (cast_expression "(undefined4 ******)&DAT_004144e8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8")))) (; ";")) (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" (identifier "local_ac") (= "=") (cast_expression "(undefined4 ******)&__DT_PLTGOT" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT")))) (; ";")) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" (identifier "bVar42") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0008b0b0:\n      *(byte *)(param_1 + 0x9c) = bVar42;" (statement_identifier "LAB_0008b0b0") (: ":") (expression_statement "*(byte *)(param_1 + 0x9c) = bVar42;" (assignment_expression "*(byte *)(param_1 + 0x9c) = bVar42" (pointer_expression "*(byte *)(param_1 + 0x9c)" (* "*") (cast_expression "(byte *)(param_1 + 0x9c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9c)" (( "(") (binary_expression "param_1 + 0x9c" (identifier "param_1") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (identifier "bVar42")) (; ";"))) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" (identifier "puVar35") (= "=") (identifier "auStack_14c")) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0008c0b4:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;\n        FUN_000da200();\n      }" ({ "{") (labeled_statement "LAB_0008c0b4:\n        ppppppuVar31 = local_ac;" (statement_identifier "LAB_0008c0b4") (: ":") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47716" (identifier "local_ac") (+ "+") (number_literal "-0x47716"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c0d2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c0d2")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppuVar17 = pppppuVar26[0xe2a];" (assignment_expression "ppppuVar17 = pppppuVar26[0xe2a]" (identifier "ppppuVar17") (= "=") (subscript_expression "pppppuVar26[0xe2a]" (identifier "pppppuVar26") ([ "[") (number_literal "0xe2a") (] "]"))) (; ";")) (if_statement "if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;" (if "if") (parenthesized_expression "(ppppuVar17 != (undefined4 ****)0x1)" (( "(") (binary_expression "ppppuVar17 != (undefined4 ****)0x1" (identifier "ppppuVar17") (!= "!=") (cast_expression "(undefined4 ****)0x1" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) () ")")) (goto_statement "goto LAB_0008b0d5;" (goto "goto") (statement_identifier "LAB_0008b0d5") (; ";"))) (labeled_statement "LAB_0008bbcb:\n      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;" (statement_identifier "LAB_0008bbcb") (: ":") (expression_statement "*(undefined4 *)(param_1 + 0xa8) = 0x1c00000;" (assignment_expression "*(undefined4 *)(param_1 + 0xa8) = 0x1c00000" (pointer_expression "*(undefined4 *)(param_1 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (number_literal "0x1c00000")) (; ";"))) (} "}")))) (expression_statement "FUN_0006f600();" (call_expression "FUN_0006f600()" (identifier "FUN_0006f600") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar28 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "puVar28 = *(undefined4 **)(param_1 + 0x4c)" (identifier "puVar28") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (if_statement "if (*(undefined4 **)(param_1 + 0x50) != puVar28) {\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != puVar28)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 0x50) != puVar28" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (identifier "puVar28")) () ")")) (compound_statement "{\nLAB_00088eb5:\n      puVar38 = auStack_14c;\n      puVar37 = auStack_14c;\n      puVar35 = auStack_14c;\n      local_a8 = (undefined4 ******)*puVar28;\n      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n      puVar36 = auStack_14c;\n      if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }\nLAB_0008bf9d:\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;\n      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;\n      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;\n      FUN_000da200();\n    }" ({ "{") (labeled_statement "LAB_00088eb5:\n      puVar38 = auStack_14c;" (statement_identifier "LAB_00088eb5") (: ":") (expression_statement "puVar38 = auStack_14c;" (assignment_expression "puVar38 = auStack_14c" (identifier "puVar38") (= "=") (identifier "auStack_14c")) (; ";"))) (expression_statement "puVar37 = auStack_14c;" (assignment_expression "puVar37 = auStack_14c" (identifier "puVar37") (= "=") (identifier "auStack_14c")) (; ";")) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" (identifier "puVar35") (= "=") (identifier "auStack_14c")) (; ";")) (expression_statement "local_a8 = (undefined4 ******)*puVar28;" (assignment_expression "local_a8 = (undefined4 ******)*puVar28" (identifier "local_a8") (= "=") (cast_expression "(undefined4 ******)*puVar28" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*puVar28" (* "*") (identifier "puVar28")))) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_a8)[0xc]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21]" (identifier "pppppuVar26") (= "=") (subscript_expression "((undefined4 *******)local_a8)[0xb][0x21]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xb") (] "]")) ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" (identifier "puVar36") (= "=") (identifier "auStack_14c")) (; ";")) (if_statement "if (ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }" (if "if") (parenthesized_expression "(ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3))" (( "(") (binary_expression "ppppppuVar31 <\n          (undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" (identifier "ppppppuVar31") (< "<") (cast_expression "(undefined4 ******)\n          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" (( "(") (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26" (cast_expression "(int)((undefined4 *******)local_a8)[0xb][0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_a8)[0xb][0x22]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xb") (] "]")) ([ "[") (number_literal "0x22") (] "]"))) (- "-") (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26"))) (>> ">>") (number_literal "3")) () ")")))) () ")")) (compound_statement "{\n        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }\n                    \n        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);\n      }" ({ "{") (if_statement "if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff) {\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }" (if "if") (parenthesized_expression "(((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff)" (( "(") (binary_expression "((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            ) != 0xffffffff" (parenthesized_expression "((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]\n            )" (( "(") (binary_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]" (cast_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]"))) (& "&") (cast_expression "(uint)pppppuVar26[(int)ppppppuVar31 * 2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (] "]")))) () ")")) (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);\n          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);\n          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n          do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);\n        }" ({ "{") (expression_statement "local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)(puVar28 + 1)" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)(puVar28 + 1)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar28 + 1)" (( "(") (binary_expression "puVar28 + 1" (identifier "puVar28") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a)" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)(local_ac + 0x13a)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + 0x13a)" (( "(") (binary_expression "local_ac + 0x13a" (identifier "local_ac") (+ "+") (number_literal "0x13a")) () ")")))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (] "]")))) (; ";")) (expression_statement "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]")))) (; ";")) (do_statement "do {\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);" (do "do") (compound_statement "{\n            unaff_EBX = (undefined4 *******)local_a8;\n            local_b8 = 0;\n            ppppppuVar31 = (undefined4 ******)local_a8[8];\n            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);\n            local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);\n            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);\n            if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }\n            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }\n            ppppppuVar11 = (undefined4 ******)local_a8[0x22];\n            ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));\n            ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));\n            ppppppuVar33 = (undefined4 ******)local_a8[0x21];\n            if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }\n            bVar42 = *(byte *)(local_a8 + 7);\n            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;\n            if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;\n            pppppuVar26 = ppppppuVar31[7];\n            local_a8[3] = ppppppuVar33;\n            local_a8[4] = ppppppuVar11;\n            if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }\n            pppppuVar14 = ppppppuVar31[5];\n            pppppuVar34 = ppppppuVar31[6];\n            puVar36 = auStack_14c;\n            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;\n            pppppuVar26 = ppppppuVar31[1];\n            pppppuVar1 = ppppppuVar31[1];\n            pppppuVar2 = ppppppuVar31[2];\n            local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);\n            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);\n            local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));\n            local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));\n            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;\n            (*(code *)(*local_a8)[0xe])(local_a8);\n            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;\n            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n            if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }\n            local_a8 = *(undefined4 *******)local_cc;\n            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];\n            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];\n            puVar36 = auStack_14c;\n            if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;\n            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];\n            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];\n            local_cc._0_4_ = (undefined4 *******)local_cc + 1;\n          }" ({ "{") (expression_statement "unaff_EBX = (undefined4 *******)local_a8;" (assignment_expression "unaff_EBX = (undefined4 *******)local_a8" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8"))) (; ";")) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[8];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[8]" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)local_a8[8]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[8]" (identifier "local_a8") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);" (assignment_expression "local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" (identifier "local_c4") (= "=") (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c])" (( "(") (binary_expression "(int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]" (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (+ "+") (cast_expression "(int)local_a8[0x1c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0x1c]" (identifier "local_a8") ([ "[") (number_literal "0x1c") (] "]")))) () ")")))) (; ";")) (expression_statement "local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);" (assignment_expression "local_c0 = (int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" (identifier "local_c0") (= "=") (binary_expression "(int)local_b4._4_4_ +\n                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" (cast_expression "(int)local_b4._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_"))) (+ "+") (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" (identifier "CARRY4") (argument_list "((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4)" (( "(") (cast_expression "(uint)local_a8[0x1c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[0x1c]" (identifier "local_a8") ([ "[") (number_literal "0x1c") (] "]"))) (, ",") (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) () ")")))))) (; ";")) (expression_statement "local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);" (assignment_expression "local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d])" (identifier "local_bc") (= "=") (cast_expression "(undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d])" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_a8[0x1f] + (int)local_a8[0x1d])" (( "(") (binary_expression "(int)local_a8[0x1f] + (int)local_a8[0x1d]" (cast_expression "(int)local_a8[0x1f]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0x1f]" (identifier "local_a8") ([ "[") (number_literal "0x1f") (] "]"))) (+ "+") (cast_expression "(int)local_a8[0x1d]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0x1d]" (identifier "local_a8") ([ "[") (number_literal "0x1d") (] "]")))) () ")")))) (; ";")) (if_statement "if (*(char *)(local_a8 + 0x23) != '\0') {\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }" (if "if") (parenthesized_expression "(*(char *)(local_a8 + 0x23) != '\0')" (( "(") (binary_expression "*(char *)(local_a8 + 0x23) != '\0'" (pointer_expression "*(char *)(local_a8 + 0x23)" (* "*") (cast_expression "(char *)(local_a8 + 0x23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x23)" (( "(") (binary_expression "local_a8 + 0x23" (identifier "local_a8") (+ "+") (number_literal "0x23")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];\n              if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }\n              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);\n              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);\n              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;\n            }" ({ "{") (expression_statement "pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];" (assignment_expression "pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)local_a8[0xd][0x2b]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_a8[0xd][0x2b]" (subscript_expression "local_a8[0xd]" (identifier "local_a8") ([ "[") (number_literal "0xd") (] "]")) ([ "[") (number_literal "0x2b") (] "]")))) (; ";")) (if_statement "if (((uint)pppppuVar26[7] & 2) == 0) {\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }" (if "if") (parenthesized_expression "(((uint)pppppuVar26[7] & 2) == 0)" (( "(") (binary_expression "((uint)pppppuVar26[7] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[7] & 2)" (( "(") (binary_expression "(uint)pppppuVar26[7] & 2" (cast_expression "(uint)pppppuVar26[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[7]" (identifier "pppppuVar26") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);\n              }" ({ "{") (expression_statement "FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);" (call_expression "FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701)" (identifier "FUN_000da200") (argument_list "(local_ac + -0x47469,0xcf,local_ac + -0x47701)" (( "(") (binary_expression "local_ac + -0x47469" (identifier "local_ac") (+ "+") (number_literal "-0x47469")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "local_ac + -0x47701" (identifier "local_ac") (+ "+") (number_literal "-0x47701")) () ")"))) (; ";")) (} "}"))) (expression_statement "bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);" (assignment_expression "bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3])" (identifier "bVar41") (= "=") (call_expression "CARRY4((uint)local_bc,(uint)pppppuVar26[3])" (identifier "CARRY4") (argument_list "((uint)local_bc,(uint)pppppuVar26[3])" (( "(") (cast_expression "(uint)local_bc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_bc")) (, ",") (cast_expression "(uint)pppppuVar26[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[3]" (identifier "pppppuVar26") ([ "[") (number_literal "3") (] "]"))) () ")")))) (; ";")) (expression_statement "local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);" (assignment_expression "local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3])" (identifier "local_bc") (= "=") (cast_expression "(undefined4 ******)((int)local_bc + (int)pppppuVar26[3])" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_bc + (int)pppppuVar26[3])" (( "(") (binary_expression "(int)local_bc + (int)pppppuVar26[3]" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (cast_expression "(int)pppppuVar26[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[3]" (identifier "pppppuVar26") ([ "[") (number_literal "3") (] "]")))) () ")")))) (; ";")) (expression_statement "local_b8 = (int)pppppuVar26[4] + (uint)bVar41;" (assignment_expression "local_b8 = (int)pppppuVar26[4] + (uint)bVar41" (identifier "local_b8") (= "=") (binary_expression "(int)pppppuVar26[4] + (uint)bVar41" (cast_expression "(int)pppppuVar26[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[4]" (identifier "pppppuVar26") ([ "[") (number_literal "4") (] "]"))) (+ "+") (cast_expression "(uint)bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar41")))) (; ";")) (} "}"))) (if_statement "if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }" (if "if") (parenthesized_expression "(local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0)" (( "(") (binary_expression "local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0" (binary_expression "local_b8 != 0" (identifier "local_b8") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(undefined4 *******)local_bc != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_bc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_bc")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);\n              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);\n              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);\n            }" ({ "{") (if_statement "if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;" (if "if") (parenthesized_expression "((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0)" (( "(") (binary_expression "(*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0" (subscript_expression "(*(undefined4 *******)local_dc)[2]" (parenthesized_expression "(*(undefined4 *******)local_dc)" (( "(") (pointer_expression "*(undefined4 *******)local_dc" (* "*") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) () ")")) ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c192;" (goto "goto") (statement_identifier "LAB_0008c192") (; ";"))) (expression_statement "uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" (identifier "uVar39") (= "=") (binary_expression "1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f)" (( "(") (binary_expression "(byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*(undefined4 *******)local_dc)[2][0xac8]" (subscript_expression "(byte)(*(undefined4 *******)local_dc)[2]" (call_expression "(byte)(*(undefined4 *******)local_dc)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(undefined4 *******)local_dc)" (( "(") (pointer_expression "*(undefined4 *******)local_dc" (* "*") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) () ")"))) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xac8") (] "]")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" (if "if") (parenthesized_expression "(uVar39 < 0x20)" (( "(") (binary_expression "uVar39 < 0x20" (identifier "uVar39") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                uVar39 = 0x20;\n              }" ({ "{") (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" (identifier "uVar39") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (expression_statement "bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);" (assignment_expression "bVar41 = CARRY4(uVar39 - 1,(uint)local_c4)" (identifier "bVar41") (= "=") (call_expression "CARRY4(uVar39 - 1,(uint)local_c4)" (identifier "CARRY4") (argument_list "(uVar39 - 1,(uint)local_c4)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) (, ",") (cast_expression "(uint)local_c4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c4")) () ")")))) (; ";")) (expression_statement "local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);" (assignment_expression "local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39)" (identifier "local_c4") (= "=") (cast_expression "(undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_c4 + (uVar39 - 1) & -uVar39)" (( "(") (binary_expression "(int)local_c4 + (uVar39 - 1) & -uVar39" (binary_expression "(int)local_c4 + (uVar39 - 1)" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (+ "+") (parenthesized_expression "(uVar39 - 1)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")"))) (& "&") (unary_expression "-uVar39" (- "-") (identifier "uVar39"))) () ")")))) (; ";")) (expression_statement "local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);" (assignment_expression "local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0)" (identifier "local_c0") (= "=") (binary_expression "((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0)" (binary_expression "((uVar39 != 0) - 1) + local_c0 + (uint)bVar41" (binary_expression "((uVar39 != 0) - 1) + local_c0" (parenthesized_expression "((uVar39 != 0) - 1)" (( "(") (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) () ")")) (+ "+") (identifier "local_c0")) (+ "+") (cast_expression "(uint)bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar41"))) (& "&") (unary_expression "-(uint)(uVar39 != 0)" (- "-") (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (} "}"))) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0x22];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0x22]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[0x22]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0x22]" (identifier "local_a8") ([ "[") (number_literal "0x22") (] "]")))) (; ";")) (expression_statement "ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));" (assignment_expression "ppppppuVar8 = (undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" (identifier "ppppppuVar8") (= "=") (cast_expression "(undefined4 ******)\n                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4))" (( "(") (binary_expression "(int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4)" (cast_expression "(int)local_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c4")) (+ "+") (parenthesized_expression "((int)local_bc - (int)(undefined4 *******)local_b4)" (( "(") (binary_expression "(int)local_bc - (int)(undefined4 *******)local_b4" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (- "-") (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")))) () ")"))) () ")")))) (; ";")) (expression_statement "ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4));" (assignment_expression "ppppppuVar29 = (undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" (identifier "ppppppuVar29") (= "=") (cast_expression "(undefined4 ******)\n                           (((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4))" (( "(") (binary_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +\n                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" (binary_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0" (parenthesized_expression "((local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4))" (( "(") (binary_expression "(local_b8 - (int)local_b4._4_4_) -\n                            (uint)(local_bc < (undefined4 *******)local_b4)" (parenthesized_expression "(local_b8 - (int)local_b4._4_4_)" (( "(") (binary_expression "local_b8 - (int)local_b4._4_4_" (identifier "local_b8") (- "-") (cast_expression "(int)local_b4._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")))) () ")")) (- "-") (call_expression "(uint)(local_bc < (undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_bc < (undefined4 *******)local_b4)" (( "(") (binary_expression "local_bc < (undefined4 *******)local_b4" (identifier "local_bc") (< "<") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) () ")")))) () ")")) (+ "+") (identifier "local_c0")) (+ "+") (cast_expression "(uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" (identifier "CARRY4") (argument_list "((int)local_bc - (int)(undefined4 *******)local_b4,\n                                        (uint)local_c4)" (( "(") (binary_expression "(int)local_bc - (int)(undefined4 *******)local_b4" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (- "-") (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")))) (, ",") (cast_expression "(uint)local_c4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c4")) () ")"))))) () ")")))) (; ";")) (expression_statement "ppppppuVar33 = (undefined4 ******)local_a8[0x21];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_a8[0x21]" (identifier "ppppppuVar33") (= "=") (cast_expression "(undefined4 ******)local_a8[0x21]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0x21]" (identifier "local_a8") ([ "[") (number_literal "0x21") (] "]")))) (; ";")) (if_statement "if (ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               ) {\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }" (if "if") (parenthesized_expression "(ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)\n               )" (( "(") (binary_expression "ppppppuVar11 < ppppppuVar29 ||\n                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)" (binary_expression "ppppppuVar11 < ppppppuVar29" (identifier "ppppppuVar11") (< "<") (identifier "ppppppuVar29")) (|| "||") (binary_expression "(uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)" (call_expression "(uint)((int)ppppppuVar11 - (int)ppppppuVar29)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppuVar11 - (int)ppppppuVar29)" (( "(") (binary_expression "(int)ppppppuVar11 - (int)ppppppuVar29" (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (- "-") (cast_expression "(int)ppppppuVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar29"))) () ")"))) (< "<") (call_expression "(uint)(local_a8[0x21] < ppppppuVar8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_a8[0x21] < ppppppuVar8)" (( "(") (binary_expression "local_a8[0x21] < ppppppuVar8" (subscript_expression "local_a8[0x21]" (identifier "local_a8") ([ "[") (number_literal "0x21") (] "]")) (< "<") (identifier "ppppppuVar8")) () ")"))))) () ")")) (compound_statement "{\n              ppppppuVar33 = ppppppuVar8;\n              ppppppuVar11 = ppppppuVar29;\n            }" ({ "{") (expression_statement "ppppppuVar33 = ppppppuVar8;" (assignment_expression "ppppppuVar33 = ppppppuVar8" (identifier "ppppppuVar33") (= "=") (identifier "ppppppuVar8")) (; ";")) (expression_statement "ppppppuVar11 = ppppppuVar29;" (assignment_expression "ppppppuVar11 = ppppppuVar29" (identifier "ppppppuVar11") (= "=") (identifier "ppppppuVar29")) (; ";")) (} "}"))) (expression_statement "bVar42 = *(byte *)(local_a8 + 7);" (assignment_expression "bVar42 = *(byte *)(local_a8 + 7)" (identifier "bVar42") (= "=") (pointer_expression "*(byte *)(local_a8 + 7)" (* "*") (cast_expression "(byte *)(local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 7)" (( "(") (binary_expression "local_a8 + 7" (identifier "local_a8") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "*(byte *)(local_a8 + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(local_a8 + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(local_a8 + 7)" (* "*") (cast_expression "(byte *)(local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 7)" (( "(") (binary_expression "local_a8 + 7" (identifier "local_a8") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xfa" (identifier "bVar42") (& "&") (number_literal "0xfa"))) (; ";")) (if_statement "if ((bVar42 & 8) == 0) {\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }\n            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" (if "if") (parenthesized_expression "((bVar42 & 8) == 0)" (( "(") (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" (( "(") (binary_expression "bVar42 & 8" (identifier "bVar42") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;\n            }" ({ "{") (expression_statement "*(byte *)(local_a8 + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(local_a8 + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(local_a8 + 7)" (* "*") (cast_expression "(byte *)(local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 7)" (( "(") (binary_expression "local_a8 + 7" (identifier "local_a8") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xf8" (identifier "bVar42") (& "&") (number_literal "0xf8"))) (; ";")) (} "}")) (else_clause "else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" (else "else") (if_statement "if ((bVar42 & 2) != 0) goto LAB_0008b9d8;" (if "if") (parenthesized_expression "((bVar42 & 2) != 0)" (( "(") (binary_expression "(bVar42 & 2) != 0" (parenthesized_expression "(bVar42 & 2)" (( "(") (binary_expression "bVar42 & 2" (identifier "bVar42") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008b9d8;" (goto "goto") (statement_identifier "LAB_0008b9d8") (; ";"))))) (expression_statement "pppppuVar26 = ppppppuVar31[7];" (assignment_expression "pppppuVar26 = ppppppuVar31[7]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar31[7]" (identifier "ppppppuVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_a8[3] = ppppppuVar33;" (assignment_expression "local_a8[3] = ppppppuVar33" (subscript_expression "local_a8[3]" (identifier "local_a8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "ppppppuVar33")) (; ";")) (expression_statement "local_a8[4] = ppppppuVar11;" (assignment_expression "local_a8[4] = ppppppuVar11" (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "ppppppuVar11")) (; ";")) (if_statement "if (((uint)pppppuVar26 & 4) == 0) {\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }" (if "if") (parenthesized_expression "(((uint)pppppuVar26 & 4) == 0)" (( "(") (binary_expression "((uint)pppppuVar26 & 4) == 0" (parenthesized_expression "((uint)pppppuVar26 & 4)" (( "(") (binary_expression "(uint)pppppuVar26 & 4" (cast_expression "(uint)pppppuVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar26")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);\n            }" ({ "{") (expression_statement "FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);" (call_expression "FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e)" (identifier "FUN_000da200") (argument_list "(local_ac + -0x47469,0xe3,local_ac + -0x4784e)" (( "(") (binary_expression "local_ac + -0x47469" (identifier "local_ac") (+ "+") (number_literal "-0x47469")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "local_ac + -0x4784e" (identifier "local_ac") (+ "+") (number_literal "-0x4784e")) () ")"))) (; ";")) (} "}"))) (expression_statement "pppppuVar14 = ppppppuVar31[5];" (assignment_expression "pppppuVar14 = ppppppuVar31[5]" (identifier "pppppuVar14") (= "=") (subscript_expression "ppppppuVar31[5]" (identifier "ppppppuVar31") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "pppppuVar34 = ppppppuVar31[6];" (assignment_expression "pppppuVar34 = ppppppuVar31[6]" (identifier "pppppuVar34") (= "=") (subscript_expression "ppppppuVar31[6]" (identifier "ppppppuVar31") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" (identifier "puVar36") (= "=") (identifier "auStack_14c")) (; ";")) (if_statement "if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;" (if "if") (parenthesized_expression "(((uint)pppppuVar26 & 1) == 0)" (( "(") (binary_expression "((uint)pppppuVar26 & 1) == 0" (parenthesized_expression "((uint)pppppuVar26 & 1)" (( "(") (binary_expression "(uint)pppppuVar26 & 1" (cast_expression "(uint)pppppuVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar26")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008bf5b;" (goto "goto") (statement_identifier "LAB_0008bf5b") (; ";"))) (expression_statement "pppppuVar26 = ppppppuVar31[1];" (assignment_expression "pppppuVar26 = ppppppuVar31[1]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar31[1]" (identifier "ppppppuVar31") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pppppuVar1 = ppppppuVar31[1];" (assignment_expression "pppppuVar1 = ppppppuVar31[1]" (identifier "pppppuVar1") (= "=") (subscript_expression "ppppppuVar31[1]" (identifier "ppppppuVar31") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pppppuVar2 = ppppppuVar31[2];" (assignment_expression "pppppuVar2 = ppppppuVar31[2]" (identifier "pppppuVar2") (= "=") (subscript_expression "ppppppuVar31[2]" (identifier "ppppppuVar31") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);" (assignment_expression "local_a8[5] = (undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" (subscript_expression "local_a8[5]" (identifier "local_a8") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(undefined4 ******)\n                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5])" (( "(") (binary_expression "(int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]" (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (+ "+") (cast_expression "(int)ppppppuVar31[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[5]" (identifier "ppppppuVar31") ([ "[") (number_literal "5") (] "]")))) () ")")))) (; ";")) (expression_statement "local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);" (assignment_expression "local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)pppppuVar1)" (( "(") (binary_expression "(int)(undefined4 *******)local_b4 + (int)pppppuVar1" (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (+ "+") (cast_expression "(int)pppppuVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar1"))) () ")")))) (; ";")) (expression_statement "local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));" (assignment_expression "local_a8[2] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26))" (( "(") (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar2 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar2" (cast_expression "(int)local_b4._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_"))) (+ "+") (cast_expression "(int)pppppuVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar2"))) (+ "+") (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_b4,(uint)pppppuVar26)" (( "(") (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (, ",") (cast_expression "(uint)pppppuVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar26")) () ")"))))) () ")")))) (; ";")) (expression_statement "local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));" (assignment_expression "local_a8[6] = (undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" (subscript_expression "local_a8[6]" (identifier "local_a8") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined4 ******)\n                          ((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14))" (( "(") (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar34 +\n                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" (binary_expression "(int)local_b4._4_4_ + (int)pppppuVar34" (cast_expression "(int)local_b4._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_"))) (+ "+") (cast_expression "(int)pppppuVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar34"))) (+ "+") (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_b4,(uint)pppppuVar14)" (( "(") (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (, ",") (cast_expression "(uint)pppppuVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar14")) () ")"))))) () ")")))) (; ";")) (expression_statement "*(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;" (assignment_expression "*(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5" (pointer_expression "*(byte *)(local_a8 + 7)" (* "*") (cast_expression "(byte *)(local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 7)" (( "(") (binary_expression "local_a8 + 7" (identifier "local_a8") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(local_a8 + 7) | 5" (pointer_expression "*(byte *)(local_a8 + 7)" (* "*") (cast_expression "(byte *)(local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 7)" (( "(") (binary_expression "local_a8 + 7" (identifier "local_a8") (+ "+") (number_literal "7")) () ")")))) (| "|") (number_literal "5"))) (; ";")) (expression_statement "(*(code *)(*local_a8)[0xe])(local_a8);" (call_expression "(*(code *)(*local_a8)[0xe])(local_a8)" (parenthesized_expression "(*(code *)(*local_a8)[0xe])" (( "(") (pointer_expression "*(code *)(*local_a8)[0xe]" (* "*") (cast_expression "(code *)(*local_a8)[0xe]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*local_a8)[0xe]" (parenthesized_expression "(*local_a8)" (( "(") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xe") (] "]")))) () ")")) (argument_list "(local_a8)" (( "(") (identifier "local_a8") () ")"))) (; ";")) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;" (if "if") (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" (( "(") (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" (( "(") (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "unaff_EBX[7]" (identifier "unaff_EBX") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008c197;" (goto "goto") (statement_identifier "LAB_0008c197") (; ";"))) (expression_statement "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);" (assignment_expression "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50)" (identifier "pppppppuVar10") (= "=") (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (pppppppuVar10 == (undefined4 *******)local_cc) {\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }" (if "if") (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)local_cc)" (( "(") (binary_expression "pppppppuVar10 == (undefined4 *******)local_cc" (identifier "pppppppuVar10") (== "==") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) () ")")) (compound_statement "{\n              if (param_2 != 1) goto LAB_00089837;\n              local_120 = (undefined4 *******)0x0;\n              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n              goto LAB_00089172;\n            }" ({ "{") (if_statement "if (param_2 != 1) goto LAB_00089837;" (if "if") (parenthesized_expression "(param_2 != 1)" (( "(") (binary_expression "param_2 != 1" (identifier "param_2") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_00089837;" (goto "goto") (statement_identifier "LAB_00089837") (; ";"))) (expression_statement "local_120 = (undefined4 *******)0x0;" (assignment_expression "local_120 = (undefined4 *******)0x0" (identifier "local_120") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" (identifier "pppppppuVar16") (= "=") (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (goto_statement "goto LAB_00089172;" (goto "goto") (statement_identifier "LAB_00089172") (; ";")) (} "}"))) (expression_statement "local_a8 = *(undefined4 *******)local_cc;" (assignment_expression "local_a8 = *(undefined4 *******)local_cc" (identifier "local_a8") (= "=") (pointer_expression "*(undefined4 *******)local_cc" (* "*") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0xc]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_a8)[0xc]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21]" (identifier "pppppuVar26") (= "=") (subscript_expression "((undefined4 *******)local_a8)[0xb][0x21]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xb") (] "]")) ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" (identifier "puVar36") (= "=") (identifier "auStack_14c")) (; ";")) (if_statement "if ((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31) goto LAB_0008bf9d;" (if "if") (parenthesized_expression "((undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31)" (( "(") (binary_expression "(undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=\n                ppppppuVar31" (cast_expression "(undefined4 ******)\n                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)" (( "(") (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26" (cast_expression "(int)((undefined4 *******)local_a8)[0xb][0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_a8)[0xb][0x22]" (subscript_expression "((undefined4 *******)local_a8)[0xb]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xb") (] "]")) ([ "[") (number_literal "0x22") (] "]"))) (- "-") (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "ppppppuVar31")) () ")")) (goto_statement "goto LAB_0008bf9d;" (goto "goto") (statement_identifier "LAB_0008bf9d") (; ";"))) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (] "]")))) (; ";")) (expression_statement "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar31 * 2 + 1]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "local_cc._0_4_ = (undefined4 *******)local_cc + 1;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)local_cc + 1" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "(undefined4 *******)local_cc + 1" (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff)" (( "(") (binary_expression "((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff" (parenthesized_expression "((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4)" (( "(") (binary_expression "(uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4" (cast_expression "(uint)local_b4._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_"))) (& "&") (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")))) () ")")) (!= "!=") (number_literal "0xffffffff")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);" (call_expression "FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6)" (identifier "FUN_000da200") (argument_list "(local_ac + -0x4745f,0xe02,local_ac + -0x478c6)" (( "(") (binary_expression "local_ac + -0x4745f" (identifier "local_ac") (+ "+") (number_literal "-0x4745f")) (, ",") (number_literal "0xe02") (, ",") (binary_expression "local_ac + -0x478c6" (identifier "local_ac") (+ "+") (number_literal "-0x478c6")) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0008bf9d:\n      ppppppuVar31 = local_ac;" (statement_identifier "LAB_0008bf9d") (: ":") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47714" (identifier "local_ac") (+ "+") (number_literal "-0x47714"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x7f7;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x7f7" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x7f7")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x4746e" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x4746e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bfbe" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bfbe")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_120 = (undefined4 *******)0x0;" (assignment_expression "local_120 = (undefined4 *******)0x0" (identifier "local_120") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0008b10a:\n    local_110 = (undefined4 *******)0x0;" (statement_identifier "LAB_0008b10a") (: ":") (expression_statement "local_110 = (undefined4 *******)0x0;" (assignment_expression "local_110 = (undefined4 *******)0x0" (identifier "local_110") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xa1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa1)" (( "(") (binary_expression "param_1 + 0xa1" (identifier "param_1") (+ "+") (number_literal "0xa1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" (else "else") (compound_statement "{\n    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;\n    if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }\n    local_ac = ppppppuVar31;\n    puVar28 = *(undefined4 **)(param_1 + 0x4c);\n    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;\nLAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);\n    FUN_000a8e50(param_1 + 0x58);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\n    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;\n    do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);\n    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);\nLAB_00089172:\n    local_110 = (undefined4 *******)0x0;\n    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;\n    *(undefined1 *)(param_1 + 0xa1) = 0;\n    if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }\n  }" ({ "{") (expression_statement "ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)&__DT_PLTGOT" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT")))) (; ";")) (if_statement "if ((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }" (if "if") (parenthesized_expression "((*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3))" (( "(") (binary_expression "(*(char *)(param_1 + 0xa1) != '\0') &&\n       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)" (parenthesized_expression "(*(char *)(param_1 + 0xa1) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xa1) != '\0'" (pointer_expression "*(char *)(param_1 + 0xa1)" (* "*") (cast_expression "(char *)(param_1 + 0xa1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa1)" (( "(") (binary_expression "param_1 + 0xa1" (identifier "param_1") (+ "+") (number_literal "0xa1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)" (( "(") (comma_expression "ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (, ",") (binary_expression "*(int *)(param_1 + 0xa4) < 3" (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")")))) (< "<") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n      local_ac = (undefined4 ******)&__DT_PLTGOT;\n      FUN_000a8e50(param_1 + 0x58);\n      piVar13 = *(int **)(param_1 + 0x4c);\n      if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }\n      iVar19 = *(int *)(param_1 + 0xa8);\n      iVar22 = iVar19 + 3;\n      if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }\n      iVar19 = (iVar22 >> 2) * 3;\n      *(int *)(param_1 + 0xa8) = iVar19;\n      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];\n      uVar9 = gettext(local_ac + -0x47247);\n      unaff_EBX = (undefined4 *******)local_ac;\n      FUN_000d1390(uVar9,ppppppuVar31,iVar19);\n      FUN_0006f600();\n      ppppppuVar31 = local_ac;\n    }" ({ "{") (expression_statement "local_ac = (undefined4 ******)&__DT_PLTGOT;" (assignment_expression "local_ac = (undefined4 ******)&__DT_PLTGOT" (identifier "local_ac") (= "=") (cast_expression "(undefined4 ******)&__DT_PLTGOT" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT")))) (; ";")) (expression_statement "FUN_000a8e50(param_1 + 0x58);" (call_expression "FUN_000a8e50(param_1 + 0x58)" (identifier "FUN_000a8e50") (argument_list "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")"))) (; ";")) (expression_statement "piVar13 = *(int **)(param_1 + 0x4c);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x4c)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(param_1 + 0x4c)" (* "*") (cast_expression "(int **)(param_1 + 0x4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (if_statement "if (piVar13 != *(int **)(param_1 + 0x50)) {\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }" (if "if") (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x50))" (( "(") (binary_expression "piVar13 != *(int **)(param_1 + 0x50)" (identifier "piVar13") (!= "!=") (pointer_expression "*(int **)(param_1 + 0x50)" (* "*") (cast_expression "(int **)(param_1 + 0x50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (compound_statement "{\n        do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);\n        if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }\n      }" ({ "{") (do_statement "do {\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        } while (*(int **)(param_1 + 0x50) != piVar13);" (do "do") (compound_statement "{\n          iVar19 = *piVar13;\n          piVar13 = piVar13 + 1;\n          FUN_0004ebf0();\n          *(undefined4 *)(iVar19 + 0x74) = 0;\n          FUN_0004eb90();\n          *(undefined4 *)(iVar19 + 0x7c) = 0;\n          *(undefined1 *)(iVar19 + 0x8c) = 0;\n          *(undefined4 *)(iVar19 + 0x78) = 0;\n          *(undefined4 *)(iVar19 + 0x80) = 0;\n        }" ({ "{") (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" (identifier "iVar19") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0004ebf0();" (call_expression "FUN_0004ebf0()" (identifier "FUN_0004ebf0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x74) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x74) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x74)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x74)" (( "(") (binary_expression "iVar19 + 0x74" (identifier "iVar19") (+ "+") (number_literal "0x74")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0004eb90();" (call_expression "FUN_0004eb90()" (identifier "FUN_0004eb90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x7c) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x7c) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x7c)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x7c)" (( "(") (binary_expression "iVar19 + 0x7c" (identifier "iVar19") (+ "+") (number_literal "0x7c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(iVar19 + 0x8c) = 0;" (assignment_expression "*(undefined1 *)(iVar19 + 0x8c) = 0" (pointer_expression "*(undefined1 *)(iVar19 + 0x8c)" (* "*") (cast_expression "(undefined1 *)(iVar19 + 0x8c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x8c)" (( "(") (binary_expression "iVar19 + 0x8c" (identifier "iVar19") (+ "+") (number_literal "0x8c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x78) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x78) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x78)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x78)" (( "(") (binary_expression "iVar19 + 0x78" (identifier "iVar19") (+ "+") (number_literal "0x78")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x80) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x80) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x80)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x80)" (( "(") (binary_expression "iVar19 + 0x80" (identifier "iVar19") (+ "+") (number_literal "0x80")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(param_1 + 0x50) != piVar13)" (( "(") (binary_expression "*(int **)(param_1 + 0x50) != piVar13" (pointer_expression "*(int **)(param_1 + 0x50)" (* "*") (cast_expression "(int **)(param_1 + 0x50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (identifier "piVar13")) () ")")) (; ";")) (if_statement "if (piVar13 != *(int **)(param_1 + 0x4c)) {\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }" (if "if") (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x4c))" (( "(") (binary_expression "piVar13 != *(int **)(param_1 + 0x4c)" (identifier "piVar13") (!= "!=") (pointer_expression "*(int **)(param_1 + 0x4c)" (* "*") (cast_expression "(int **)(param_1 + 0x4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) () ")")) (compound_statement "{\n          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);\n        }" ({ "{") (expression_statement "*(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);" (assignment_expression "*(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c)" (pointer_expression "*(int **)(param_1 + 0x50)" (* "*") (cast_expression "(int **)(param_1 + 0x50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (pointer_expression "*(int **)(param_1 + 0x4c)" (* "*") (cast_expression "(int **)(param_1 + 0x4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar19 = *(int *)(param_1 + 0xa8);" (assignment_expression "iVar19 = *(int *)(param_1 + 0xa8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(param_1 + 0xa8)" (* "*") (cast_expression "(int *)(param_1 + 0xa8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "iVar22 = iVar19 + 3;" (assignment_expression "iVar22 = iVar19 + 3" (identifier "iVar22") (= "=") (binary_expression "iVar19 + 3" (identifier "iVar19") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (-1 < iVar19) {\n        iVar22 = iVar19;\n      }" (if "if") (parenthesized_expression "(-1 < iVar19)" (( "(") (binary_expression "-1 < iVar19" (number_literal "-1") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n        iVar22 = iVar19;\n      }" ({ "{") (expression_statement "iVar22 = iVar19;" (assignment_expression "iVar22 = iVar19" (identifier "iVar22") (= "=") (identifier "iVar19")) (; ";")) (} "}"))) (expression_statement "iVar19 = (iVar22 >> 2) * 3;" (assignment_expression "iVar19 = (iVar22 >> 2) * 3" (identifier "iVar19") (= "=") (binary_expression "(iVar22 >> 2) * 3" (parenthesized_expression "(iVar22 >> 2)" (( "(") (binary_expression "iVar22 >> 2" (identifier "iVar22") (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "3"))) (; ";")) (expression_statement "*(int *)(param_1 + 0xa8) = iVar19;" (assignment_expression "*(int *)(param_1 + 0xa8) = iVar19" (pointer_expression "*(int *)(param_1 + 0xa8)" (* "*") (cast_expression "(int *)(param_1 + 0xa8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_ac[0x1ce]" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)local_ac[0x1ce]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_ac[0x1ce]" (identifier "local_ac") ([ "[") (number_literal "0x1ce") (] "]")))) (; ";")) (expression_statement "uVar9 = gettext(local_ac + -0x47247);" (assignment_expression "uVar9 = gettext(local_ac + -0x47247)" (identifier "uVar9") (= "=") (call_expression "gettext(local_ac + -0x47247)" (identifier "gettext") (argument_list "(local_ac + -0x47247)" (( "(") (binary_expression "local_ac + -0x47247" (identifier "local_ac") (+ "+") (number_literal "-0x47247")) () ")")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";")) (expression_statement "FUN_000d1390(uVar9,ppppppuVar31,iVar19);" (call_expression "FUN_000d1390(uVar9,ppppppuVar31,iVar19)" (identifier "FUN_000d1390") (argument_list "(uVar9,ppppppuVar31,iVar19)" (( "(") (identifier "uVar9") (, ",") (identifier "ppppppuVar31") (, ",") (identifier "iVar19") () ")"))) (; ";")) (expression_statement "FUN_0006f600();" (call_expression "FUN_0006f600()" (identifier "FUN_0006f600") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (} "}"))) (expression_statement "local_ac = ppppppuVar31;" (assignment_expression "local_ac = ppppppuVar31" (identifier "local_ac") (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "puVar28 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "puVar28 = *(undefined4 **)(param_1 + 0x4c)" (identifier "puVar28") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (if_statement "if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;" (if "if") (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != puVar28)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 0x50) != puVar28" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (identifier "puVar28")) () ")")) (goto_statement "goto LAB_00088eb5;" (goto "goto") (statement_identifier "LAB_00088eb5") (; ";"))) (labeled_statement "LAB_00089837:\n    local_120 = *(undefined4 *******)(param_1 + 100);" (statement_identifier "LAB_00089837") (: ":") (expression_statement "local_120 = *(undefined4 *******)(param_1 + 100);" (assignment_expression "local_120 = *(undefined4 *******)(param_1 + 100)" (identifier "local_120") (= "=") (pointer_expression "*(undefined4 *******)(param_1 + 100)" (* "*") (cast_expression "(undefined4 *******)(param_1 + 100)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")"))))) (; ";"))) (expression_statement "FUN_000a8e50(param_1 + 0x58);" (call_expression "FUN_000a8e50(param_1 + 0x58)" (identifier "FUN_000a8e50") (argument_list "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")"))) (; ";")) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" (identifier "pppppppuVar16") (= "=") (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (if_statement "if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;" (if "if") (parenthesized_expression "(pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50))" (( "(") (binary_expression "pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)" (identifier "pppppppuVar16") (== "==") (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (goto_statement "goto LAB_0008b10a;" (goto "goto") (statement_identifier "LAB_0008b10a") (; ";"))) (do_statement "do {\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    } while (pppppppuVar10 != pppppppuVar16);" (do "do") (compound_statement "{\n      unaff_EBX = (undefined4 *******)*pppppppuVar16;\n      pppppppuVar16 = pppppppuVar16 + 1;\n      FUN_0004ebf0();\n      unaff_EBX[0x1d] = (undefined4 ******)0x0;\n      FUN_0004eb90();\n      unaff_EBX[0x1f] = (undefined4 ******)0x0;\n      *(undefined1 *)(unaff_EBX + 0x23) = 0;\n      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);\n    }" ({ "{") (expression_statement "unaff_EBX = (undefined4 *******)*pppppppuVar16;" (assignment_expression "unaff_EBX = (undefined4 *******)*pppppppuVar16" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)*pppppppuVar16" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*pppppppuVar16" (* "*") (identifier "pppppppuVar16")))) (; ";")) (expression_statement "pppppppuVar16 = pppppppuVar16 + 1;" (assignment_expression "pppppppuVar16 = pppppppuVar16 + 1" (identifier "pppppppuVar16") (= "=") (binary_expression "pppppppuVar16 + 1" (identifier "pppppppuVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0004ebf0();" (call_expression "FUN_0004ebf0()" (identifier "FUN_0004ebf0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_EBX[0x1d] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[0x1d] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[0x1d]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0004eb90();" (call_expression "FUN_0004eb90()" (identifier "FUN_0004eb90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_EBX[0x1f] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[0x1f] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[0x1f]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined1 *)(unaff_EBX + 0x23) = 0;" (assignment_expression "*(undefined1 *)(unaff_EBX + 0x23) = 0" (pointer_expression "*(undefined1 *)(unaff_EBX + 0x23)" (* "*") (cast_expression "(undefined1 *)(unaff_EBX + 0x23)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 0x23)" (( "(") (binary_expression "unaff_EBX + 0x23" (identifier "unaff_EBX") (+ "+") (number_literal "0x23")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);" (assignment_expression "pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50)" (identifier "pppppppuVar10") (= "=") (pointer_expression "*(undefined4 ********)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppuVar10 != pppppppuVar16)" (( "(") (binary_expression "pppppppuVar10 != pppppppuVar16" (identifier "pppppppuVar10") (!= "!=") (identifier "pppppppuVar16")) () ")")) (; ";")) (expression_statement "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);" (assignment_expression "pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c)" (identifier "pppppppuVar16") (= "=") (pointer_expression "*(undefined4 ********)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (labeled_statement "LAB_00089172:\n    local_110 = (undefined4 *******)0x0;" (statement_identifier "LAB_00089172") (: ":") (expression_statement "local_110 = (undefined4 *******)0x0;" (assignment_expression "local_110 = (undefined4 *******)0x0" (identifier "local_110") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;" (assignment_expression "iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16" (identifier "iVar19") (= "=") (binary_expression "(int)pppppppuVar10 - (int)pppppppuVar16" (cast_expression "(int)pppppppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar10")) (- "-") (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xa1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa1)" (( "(") (binary_expression "param_1 + 0xa1" (identifier "param_1") (+ "+") (number_literal "0xa1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (pppppppuVar16 != pppppppuVar10) {\n      local_110 = *pppppppuVar16;\n    }" (if "if") (parenthesized_expression "(pppppppuVar16 != pppppppuVar10)" (( "(") (binary_expression "pppppppuVar16 != pppppppuVar10" (identifier "pppppppuVar16") (!= "!=") (identifier "pppppppuVar10")) () ")")) (compound_statement "{\n      local_110 = *pppppppuVar16;\n    }" ({ "{") (expression_statement "local_110 = *pppppppuVar16;" (assignment_expression "local_110 = *pppppppuVar16" (identifier "local_110") (= "=") (pointer_expression "*pppppppuVar16" (* "*") (identifier "pppppppuVar16"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar35 = auStack_14c;" (assignment_expression "puVar35 = auStack_14c" (identifier "puVar35") (= "=") (identifier "auStack_14c")) (; ";")) (expression_statement "puVar36 = auStack_14c;" (assignment_expression "puVar36 = auStack_14c" (identifier "puVar36") (= "=") (identifier "auStack_14c")) (; ";")) (expression_statement "local_fc = (undefined4 *******)0x0;" (assignment_expression "local_fc = (undefined4 *******)0x0" (identifier "local_fc") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar19 == 4) {\n    local_fc = local_110;\n  }" (if "if") (parenthesized_expression "(iVar19 == 4)" (( "(") (binary_expression "iVar19 == 4" (identifier "iVar19") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    local_fc = local_110;\n  }" ({ "{") (expression_statement "local_fc = local_110;" (assignment_expression "local_fc = local_110" (identifier "local_fc") (= "=") (identifier "local_110")) (; ";")) (} "}"))) (expression_statement "local_114 = local_ac + 0x13a;" (assignment_expression "local_114 = local_ac + 0x13a" (identifier "local_114") (= "=") (binary_expression "local_ac + 0x13a" (identifier "local_ac") (+ "+") (number_literal "0x13a"))) (; ";")) (expression_statement "local_a8 = *(undefined4 *******)(param_1 + 0x74);" (assignment_expression "local_a8 = *(undefined4 *******)(param_1 + 0x74)" (identifier "local_a8") (= "=") (pointer_expression "*(undefined4 *******)(param_1 + 0x74)" (* "*") (cast_expression "(undefined4 *******)(param_1 + 0x74)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (expression_statement "local_f8 = local_114;" (assignment_expression "local_f8 = local_114" (identifier "local_f8") (= "=") (identifier "local_114")) (; ";")) (if_statement "if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }" (if "if") (parenthesized_expression "(*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8)" (( "(") (binary_expression "*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8" (pointer_expression "*(undefined4 ********)(param_1 + 0x78)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x78)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))) (!= "!=") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8"))) () ")")) (compound_statement "{\n    do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);\n  }" ({ "{") (do_statement "do {\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);" (do "do") (compound_statement "{\n      pppppppuVar10 = (undefined4 *******)local_ac;\n      ppppppuVar31 = (undefined4 ******)*local_a8;\n      ppppppuVar11 = (undefined4 ******)local_a8[5];\n      puVar35 = puVar36;\n      if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }\nLAB_00089370:\n      local_a8 = local_a8 + 8;\n      puVar36 = puVar35;\n    }" ({ "{") (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[5]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[5]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[5]" (identifier "local_a8") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "puVar35 = puVar36;" (assignment_expression "puVar35 = puVar36" (identifier "puVar35") (= "=") (identifier "puVar36")) (; ";")) (if_statement "if (ppppppuVar11 < ppppppuVar31[0x2c]) {\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }\n      else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(ppppppuVar11 < ppppppuVar31[0x2c])" (( "(") (binary_expression "ppppppuVar11 < ppppppuVar31[0x2c]" (identifier "ppppppuVar11") (< "<") (subscript_expression "ppppppuVar31[0x2c]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x2c") (] "]"))) () ")")) (compound_statement "{\n        local_c4 = local_114;\n        pppppuVar26 = (undefined4 *****)(*local_114)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;\nLAB_000899b9:\n        pppppppuVar10 = unaff_EBX;\n        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;\nLAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;\n        pppppppuVar16 = (undefined4 *******)0x0;\n        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;\n        cVar7 = FUN_001283f0();\n        if (cVar7 != '\0') goto LAB_00089ed0;\nLAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;\n        if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }\n        local_f0 = 0;\n        local_b4._0_4_ = (undefined4 *******)*local_a8;\n        ppppppuVar31 = (undefined4 ******)local_a8[1];\n        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];\n        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;\n        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];\n        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];\n        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }\n        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);\n        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];\n        if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }\n        ppppppuVar11 = local_ac;\n        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;\n        local_cc._4_4_ = ppppppuVar31[2];\n        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];\n        local_dc._4_4_ = (undefined4 ******)local_a8[3];\n        local_dc._0_4_ = (undefined4 *******)local_a8[2];\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }\n      }" ({ "{") (expression_statement "local_c4 = local_114;" (assignment_expression "local_c4 = local_114" (identifier "local_c4") (= "=") (identifier "local_114")) (; ";")) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_114)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_114)[3]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_114)[3]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_114)[3]" (parenthesized_expression "(*local_114)" (( "(") (pointer_expression "*local_114" (* "*") (identifier "local_114")) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c096;" (goto "goto") (statement_identifier "LAB_0008c096") (; ";"))) (labeled_statement "LAB_000899b9:\n        pppppppuVar10 = unaff_EBX;" (statement_identifier "LAB_000899b9") (: ":") (expression_statement "pppppppuVar10 = unaff_EBX;" (assignment_expression "pppppppuVar10 = unaff_EBX" (identifier "pppppppuVar10") (= "=") (identifier "unaff_EBX")) (; ";"))) (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[0x2d]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2d") (] "]")))) (; ";")) (if_statement "if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;" (if "if") (parenthesized_expression "((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0))" (( "(") (binary_expression "(pppppuVar26[0x2c] == (undefined4 ****)0x0) &&\n           (pppppppuVar16 != (undefined4 *******)0x0)" (parenthesized_expression "(pppppuVar26[0x2c] == (undefined4 ****)0x0)" (( "(") (binary_expression "pppppuVar26[0x2c] == (undefined4 ****)0x0" (subscript_expression "pppppuVar26[0x2c]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2c") (] "]")) (== "==") (cast_expression "(undefined4 ****)0x0" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pppppppuVar16 != (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar16 != (undefined4 *******)0x0" (identifier "pppppppuVar16") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_00089257;" (goto "goto") (statement_identifier "LAB_00089257") (; ";"))) (labeled_statement "LAB_000899d1:\n        pppppppuVar10 = (undefined4 *******)local_ac;" (statement_identifier "LAB_000899d1") (: ":") (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";"))) (expression_statement "pppppppuVar16 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar16 = (undefined4 *******)0x0" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppppppuVar11")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x899e3;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x899e3" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x899e3")) (; ";")) (expression_statement "cVar7 = FUN_001283f0();" (assignment_expression "cVar7 = FUN_001283f0()" (identifier "cVar7") (= "=") (call_expression "FUN_001283f0()" (identifier "FUN_001283f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 != '\0') goto LAB_00089ed0;" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00089ed0;" (goto "goto") (statement_identifier "LAB_00089ed0") (; ";"))) (labeled_statement "LAB_000899ee:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];" (statement_identifier "LAB_000899ee") (: ":") (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_a8[4]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (expression_statement "uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;" (assignment_expression "uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff" (identifier "uVar39") (= "=") (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (& "&") (number_literal "0x7fffffff"))) (; ";")) (if_statement "if (uVar39 - 0xb < 3) {\n          local_f4 = (undefined4 *******)0x8000;\n        }\n        else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" (if "if") (parenthesized_expression "(uVar39 - 0xb < 3)" (( "(") (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" (identifier "uVar39") (- "-") (number_literal "0xb")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n          local_f4 = (undefined4 *******)0x8000;\n        }" ({ "{") (expression_statement "local_f4 = (undefined4 *******)0x8000;" (assignment_expression "local_f4 = (undefined4 *******)0x8000" (identifier "local_f4") (= "=") (cast_expression "(undefined4 *******)0x8000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x8000"))) (; ";")) (} "}")) (else_clause "else {\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" (else "else") (compound_statement "{\n          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;\n          local_f4 = (undefined4 *******)0x2000000;\n        }" ({ "{") (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;" (if "if") (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17))" (( "(") (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&\n             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" (( "(") (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" (( "(") (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" (identifier "uVar39") (+ "+") (number_literal "0x7ffffff6")) (& "&") (number_literal "0x7ffffff7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(unaff_EBX = pppppppuVar10, uVar39 != 0x17)" (( "(") (comma_expression "unaff_EBX = pppppppuVar10, uVar39 != 0x17" (assignment_expression "unaff_EBX = pppppppuVar10" (identifier "unaff_EBX") (= "=") (identifier "pppppppuVar10")) (, ",") (binary_expression "uVar39 != 0x17" (identifier "uVar39") (!= "!=") (number_literal "0x17"))) () ")"))) () ")")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";"))) (expression_statement "local_f4 = (undefined4 *******)0x2000000;" (assignment_expression "local_f4 = (undefined4 *******)0x2000000" (identifier "local_f4") (= "=") (cast_expression "(undefined4 *******)0x2000000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x2000000"))) (; ";")) (} "}")))) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" (identifier "local_f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)*local_a8;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)*local_a8" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)*local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[1]" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)local_a8[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];" (assignment_expression "ppppppuVar11 = ((undefined4 *******)local_b4)[0x21]" (identifier "ppppppuVar11") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x21]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (if_statement "if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31) goto LAB_0008bf9d;" (if "if") (parenthesized_expression "((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31)" (( "(") (binary_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)\n            <= ppppppuVar31" (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3" (binary_expression "(int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11" (cast_expression "(int)((undefined4 *******)local_b4)[0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0x22]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x22") (] "]"))) (- "-") (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "ppppppuVar31")) () ")")) (goto_statement "goto LAB_0008bf9d;" (goto "goto") (statement_identifier "LAB_0008bf9d") (; ";"))) (expression_statement "local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];" (assignment_expression "local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1]" (identifier "local_e0") (= "=") (subscript_expression "ppppppuVar11[(int)ppppppuVar31 * 2 + 1]" (identifier "ppppppuVar11") ([ "[") (binary_expression "(int)ppppppuVar31 * 2 + 1" (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];" (assignment_expression "local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2]" (identifier "local_e4") (= "=") (cast_expression "(undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppuVar11[(int)ppppppuVar31 * 2]" (identifier "ppppppuVar11") ([ "[") (binary_expression "(int)ppppppuVar31 * 2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "2")) (] "]")))) (; ";")) (if_statement "if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(((uint)local_e0 & (uint)local_e4) == 0xffffffff)" (( "(") (binary_expression "((uint)local_e0 & (uint)local_e4) == 0xffffffff" (parenthesized_expression "((uint)local_e0 & (uint)local_e4)" (( "(") (binary_expression "(uint)local_e0 & (uint)local_e4" (cast_expression "(uint)local_e0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e0")) (& "&") (cast_expression "(uint)local_e4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e4"))) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;\n          FUN_000da200();\n        }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x478d6" (identifier "local_ac") (+ "+") (number_literal "-0x478d6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xd3b;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xd3b" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xd3b")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x4745f" (identifier "local_ac") (+ "+") (number_literal "-0x4745f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c39c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c39c" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c39c")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec)" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)(local_ac + -0xdb9ec)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xdb9ec)" (( "(") (binary_expression "local_ac + -0xdb9ec" (identifier "local_ac") (+ "+") (number_literal "-0xdb9ec")) () ")")))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(*(undefined4 *******)local_b4)[0x18]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "(*(undefined4 *******)local_b4)[0x18]" (parenthesized_expression "(*(undefined4 *******)local_b4)" (( "(") (pointer_expression "*(undefined4 *******)local_b4" (* "*") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) () ")")) ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (if_statement "if (pppppppuVar10 == unaff_EBX) {\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }\n        else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" (if "if") (parenthesized_expression "(pppppppuVar10 == unaff_EBX)" (( "(") (binary_expression "pppppppuVar10 == unaff_EBX" (identifier "pppppppuVar10") (== "==") (identifier "unaff_EBX")) () ")")) (compound_statement "{\n          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];\n          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }\n          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];\n        }" ({ "{") (expression_statement "unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];" (assignment_expression "unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe]" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)((undefined4 *******)local_b4)[0xe]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "((undefined4 *******)local_b4)[0xe]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xe") (] "]")))) (; ";")) (if_statement "if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31) {\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31)" (( "(") (binary_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=\n              ppppppuVar31" (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2" (binary_expression "(int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX" (cast_expression "(int)((undefined4 *******)local_b4)[0xf]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0xf]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xf") (] "]"))) (- "-") (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "ppppppuVar31")) () ")")) (compound_statement "{\nLAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;\n            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;\n            FUN_000da200();\n          }" ({ "{") (labeled_statement "LAB_0008c314:\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;" (statement_identifier "LAB_0008c314") (: ":") (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x4772e" (identifier "local_ac") (+ "+") (number_literal "-0x4772e"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c8")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x4746e" (identifier "local_ac") (+ "+") (number_literal "-0x4746e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c335;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c335" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c335")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];" (assignment_expression "ppppppuVar31 = unaff_EBX[(int)ppppppuVar31]" (identifier "ppppppuVar31") (= "=") (subscript_expression "unaff_EBX[(int)ppppppuVar31]" (identifier "unaff_EBX") ([ "[") (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" (else "else") (compound_statement "{\n          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;\n          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();\n        }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8adac;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8adac" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8adac")) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();" (assignment_expression "ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)()" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)(*(code *)pppppppuVar10)()" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "ppppppuVar11 = local_ac;" (assignment_expression "ppppppuVar11 = local_ac" (identifier "ppppppuVar11") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;" (if "if") (parenthesized_expression "(((uint)ppppppuVar31[7] & 1) == 0)" (( "(") (binary_expression "((uint)ppppppuVar31[7] & 1) == 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 1)" (( "(") (binary_expression "(uint)ppppppuVar31[7] & 1" (cast_expression "(uint)ppppppuVar31[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[7]" (identifier "ppppppuVar31") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008bf5b;" (goto "goto") (statement_identifier "LAB_0008bf5b") (; ";"))) (expression_statement "local_cc._4_4_ = ppppppuVar31[2];" (assignment_expression "local_cc._4_4_ = ppppppuVar31[2]" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (= "=") (subscript_expression "ppppppuVar31[2]" (identifier "ppppppuVar31") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];" (assignment_expression "local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1]" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)ppppppuVar31[1]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppuVar31[1]" (identifier "ppppppuVar31") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_dc._4_4_ = (undefined4 ******)local_a8[3];" (assignment_expression "local_dc._4_4_ = (undefined4 ******)local_a8[3]" (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 ******)local_a8[3]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[3]" (identifier "local_a8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_a8[2];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_a8[2]" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_a8[2]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" (if "if") (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" (identifier "pppppppuVar16") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          ppppppuVar33 = (undefined4 ******)local_a8[5];\n          pppppuVar14 = ppppppuVar31[0x37];\n          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }\n          local_40 = (undefined4 *******)0x0;\n          local_3c = (undefined4 *******)0xffffffff;\n          local_38 = (undefined4 *******)0x80000000;\n          local_34 = (undefined4 *******)0x0;\n          local_30 = (undefined4 *******)0x0;\n          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }\n          local_bc = &local_40;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *******)(puVar36 + -0x14) = local_bc;\n          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;\n          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;\n          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;\n                    \n          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;\n          iVar19 = FUN_001290d0();\n          ppppppuVar31 = local_a8;\n          if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }\n          *(undefined4 *)(puVar36 + -4) = 0;\n          *(undefined4 *)(puVar36 + -8) = 0;\n          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;\n          lVar44 = FUN_000a9940();\n          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);\n          *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;\n          local_a8 = ppppppuVar31;\n          FUN_000aa480();\nLAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);\n          local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));\n          local_5c = CONCAT44(local_108,local_10c);\n          local_b4._0_4_ = (undefined4 *******)local_fc;\n          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }\n          local_5c._0_4_ = (undefined4 *******)local_10c;\n          local_5c._4_4_ = (undefined4 *******)local_108;\n          if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);\n          local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);\n          pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;\n          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);\n          local_10c = (undefined4 *******)local_5c;\n          local_108 = local_5c._4_4_;\n          if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "ppppppuVar33 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_a8[5]" (identifier "ppppppuVar33") (= "=") (cast_expression "(undefined4 ******)local_a8[5]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[5]" (identifier "local_a8") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "pppppuVar14 = ppppppuVar31[0x37];" (assignment_expression "pppppuVar14 = ppppppuVar31[0x37]" (identifier "pppppuVar14") (= "=") (subscript_expression "ppppppuVar31[0x37]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x37") (] "]"))) (; ";")) (if_statement "if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33) {\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33)" (( "(") (binary_expression "(undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)\n              <= ppppppuVar33" (cast_expression "(undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)" (( "(") (binary_expression "((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333" (parenthesized_expression "((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2)" (( "(") (binary_expression "(int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2" (binary_expression "(int)ppppppuVar31[0x38] - (int)pppppuVar14" (cast_expression "(int)ppppppuVar31[0x38]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0x38]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x38") (] "]"))) (- "-") (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x33333333")) () ")"))) (<= "<=") (identifier "ppppppuVar33")) () ")")) (compound_statement "{\n            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;\n            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;\n            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined4 ******)(puVar36 + -4) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar36 + -4) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 ******)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pppppuVar14")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x4773f" (identifier "local_ac") (+ "+") (number_literal "-0x4773f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8c1")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x4746e" (identifier "local_ac") (+ "+") (number_literal "-0x4746e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c2b0" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c2b0")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_40 = (undefined4 *******)0x0;" (assignment_expression "local_40 = (undefined4 *******)0x0" (identifier "local_40") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_3c = (undefined4 *******)0xffffffff;" (assignment_expression "local_3c = (undefined4 *******)0xffffffff" (identifier "local_3c") (= "=") (cast_expression "(undefined4 *******)0xffffffff" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "local_38 = (undefined4 *******)0x80000000;" (assignment_expression "local_38 = (undefined4 *******)0x80000000" (identifier "local_38") (= "=") (cast_expression "(undefined4 *******)0x80000000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x80000000"))) (; ";")) (expression_statement "local_34 = (undefined4 *******)0x0;" (assignment_expression "local_34 = (undefined4 *******)0x0" (identifier "local_34") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {\n            local_38 = (undefined4 *******)0x90000000;\n          }" (if "if") (parenthesized_expression "((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10)" (( "(") (binary_expression "*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10" (pointer_expression "*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" (* "*") (cast_expression "(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb)" (( "(") (binary_expression "(int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb" (cast_expression "(int)(pppppuVar14 + (int)ppppppuVar33 * 5)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pppppuVar14 + (int)ppppppuVar33 * 5)" (( "(") (binary_expression "pppppuVar14 + (int)ppppppuVar33 * 5" (identifier "pppppuVar14") (+ "+") (binary_expression "(int)ppppppuVar33 * 5" (cast_expression "(int)ppppppuVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar33")) (* "*") (number_literal "5"))) () ")"))) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_38 = (undefined4 *******)0x90000000;\n          }" ({ "{") (expression_statement "local_38 = (undefined4 *******)0x90000000;" (assignment_expression "local_38 = (undefined4 *******)0x90000000" (identifier "local_38") (= "=") (cast_expression "(undefined4 *******)0x90000000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x90000000"))) (; ";")) (} "}"))) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" (identifier "local_bc") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5" (pointer_expression "*(undefined4 ******)(puVar36 + -0x18)" (* "*") (cast_expression "(undefined4 ******)(puVar36 + -0x18)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar36 + -0x18)" (( "(") (binary_expression "puVar36 + -0x18" (identifier "puVar36") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "pppppuVar14 + (int)ppppppuVar33 * 5" (identifier "pppppuVar14") (+ "+") (binary_expression "(int)ppppppuVar33 * 5" (cast_expression "(int)ppppppuVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar33")) (* "*") (number_literal "5")))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33" (pointer_expression "*(undefined4 *******)(puVar36 + -0x1c)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x1c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x1c)" (( "(") (binary_expression "puVar36 + -0x1c" (identifier "puVar36") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "ppppppuVar33")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x20)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x20)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x20)" (( "(") (binary_expression "puVar36 + -0x20" (identifier "puVar36") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x24) = 0x8a65b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x24) = 0x8a65b" (pointer_expression "*(undefined4 *)(puVar36 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x24)" (( "(") (binary_expression "puVar36 + -0x24" (identifier "puVar36") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8a65b")) (; ";")) (expression_statement "iVar19 = FUN_001290d0();" (assignment_expression "iVar19 = FUN_001290d0()" (identifier "iVar19") (= "=") (call_expression "FUN_001290d0()" (identifier "FUN_001290d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppppppuVar31 = local_a8;" (assignment_expression "ppppppuVar31 = local_a8" (identifier "ppppppuVar31") (= "=") (identifier "local_a8")) (; ";")) (if_statement "if ((iVar19 != 0) || (-1 < (int)local_38)) {\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }" (if "if") (parenthesized_expression "((iVar19 != 0) || (-1 < (int)local_38))" (( "(") (binary_expression "(iVar19 != 0) || (-1 < (int)local_38)" (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(-1 < (int)local_38)" (( "(") (binary_expression "-1 < (int)local_38" (number_literal "-1") (< "<") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")"))) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;\n            FUN_000aa480();\n            unaff_EBX = (undefined4 *******)ppppppuVar11;\n            goto LAB_00089370;\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8aebf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8aebf" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8aebf")) (; ";")) (expression_statement "FUN_000aa480();" (call_expression "FUN_000aa480()" (identifier "FUN_000aa480") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar11;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar11" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)ppppppuVar11" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuVar11"))) (; ";")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 ******)(puVar36 + -0xc) = *local_a8;" (assignment_expression "*(undefined4 ******)(puVar36 + -0xc) = *local_a8" (pointer_expression "*(undefined4 ******)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 ******)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*local_a8" (* "*") (identifier "local_a8"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a687;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a687" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8a687")) (; ";")) (expression_statement "lVar44 = FUN_000a9940();" (assignment_expression "lVar44 = FUN_000a9940()" (identifier "lVar44") (= "=") (call_expression "FUN_000a9940()" (identifier "FUN_000a9940") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);" (assignment_expression "bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" (identifier "bVar42") (= "=") (pointer_expression "*(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" (* "*") (cast_expression "(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5])" (( "(") (binary_expression "(int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]" (cast_expression "(int)(*ppppppuVar31)[0x6c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "(*ppppppuVar31)[0x6c]" (parenthesized_expression "(*ppppppuVar31)" (( "(") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) () ")")) ([ "[") (number_literal "0x6c") (] "]"))) (+ "+") (cast_expression "(int)ppppppuVar31[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[5]" (identifier "ppppppuVar31") ([ "[") (number_literal "5") (] "]")))) () ")"))))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);" (assignment_expression "local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" (identifier "local_5c") (= "=") (binary_expression "lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" (identifier "lVar44") (+ "+") (call_expression "(ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc)" (( "(") (binary_expression "1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc" (binary_expression "1 << (sbyte)((int)(uint)bVar42 >> 5)" (number_literal "1") (<< "<<") (call_expression "(sbyte)((int)(uint)bVar42 >> 5)" (parenthesized_expression "(sbyte)" (( "(") (identifier "sbyte") () ")")) (argument_list "((int)(uint)bVar42 >> 5)" (( "(") (binary_expression "(int)(uint)bVar42 >> 5" (cast_expression "(int)(uint)bVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42"))) (>> ">>") (number_literal "5")) () ")")))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a6cf" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8a6cf")) (; ";")) (expression_statement "local_a8 = ppppppuVar31;" (assignment_expression "local_a8 = ppppppuVar31" (identifier "local_a8") (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "FUN_000aa480();" (call_expression "FUN_000aa480()" (identifier "FUN_000aa480") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00089b5e:\n          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);" (statement_identifier "LAB_00089b5e") (: ":") (expression_statement "local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);" (assignment_expression "local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6])" (identifier "local_10c") (= "=") (cast_expression "(undefined4 ******)((uint)local_5c + (int)local_a8[6])" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)local_5c + (int)local_a8[6])" (( "(") (binary_expression "(uint)local_5c + (int)local_a8[6]" (cast_expression "(uint)local_5c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_5c")) (+ "+") (cast_expression "(int)local_a8[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[6]" (identifier "local_a8") ([ "[") (number_literal "6") (] "]")))) () ")")))) (; ";"))) (expression_statement "local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));" (assignment_expression "local_108 = (undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" (identifier "local_108") (= "=") (cast_expression "(undefined4 ******)\n                      ((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]))" (( "(") (binary_expression "(int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20) +\n                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6])" (binary_expression "(int)local_a8[7] +\n                      (int)((ulonglong)local_5c >> 0x20)" (cast_expression "(int)local_a8[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[7]" (identifier "local_a8") ([ "[") (number_literal "7") (] "]"))) (+ "+") (cast_expression "(int)((ulonglong)local_5c >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)local_5c >> 0x20)" (( "(") (binary_expression "(ulonglong)local_5c >> 0x20" (cast_expression "(ulonglong)local_5c" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "local_5c")) (>> ">>") (number_literal "0x20")) () ")")))) (+ "+") (cast_expression "(uint)CARRY4((uint)local_5c,(uint)local_a8[6])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)local_5c,(uint)local_a8[6])" (identifier "CARRY4") (argument_list "((uint)local_5c,(uint)local_a8[6])" (( "(") (cast_expression "(uint)local_5c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_5c")) (, ",") (cast_expression "(uint)local_a8[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[6]" (identifier "local_a8") ([ "[") (number_literal "6") (] "]"))) () ")"))))) () ")")))) (; ";")) (expression_statement "local_5c = CONCAT44(local_108,local_10c);" (assignment_expression "local_5c = CONCAT44(local_108,local_10c)" (identifier "local_5c") (= "=") (call_expression "CONCAT44(local_108,local_10c)" (identifier "CONCAT44") (argument_list "(local_108,local_10c)" (( "(") (identifier "local_108") (, ",") (identifier "local_10c") () ")")))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_fc;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_fc" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_fc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_fc"))) (; ";")) (if_statement "if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }" (if "if") (parenthesized_expression "((undefined4 *******)local_fc == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_fc == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_fc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_fc")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];\n            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }\n          }" ({ "{") (expression_statement "pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_a8)[0x69]" (identifier "pppppuVar14") (= "=") (cast_expression "(undefined4 *****)(*local_a8)[0x69]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_a8)[0x69]" (parenthesized_expression "(*local_a8)" (( "(") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0x69") (] "]")))) (; ";")) (if_statement "if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }\n            else {\n            }" (if "if") (parenthesized_expression "(local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2))" (( "(") (binary_expression "local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]")) (< "<") (cast_expression "(undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)" (( "(") (binary_expression "(int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2" (binary_expression "(int)(*local_a8)[0x6a] - (int)pppppuVar14" (cast_expression "(int)(*local_a8)[0x6a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "(*local_a8)[0x6a]" (parenthesized_expression "(*local_a8)" (( "(") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0x6a") (] "]"))) (- "-") (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14"))) (>> ">>") (number_literal "2")) () ")")))) () ")")) (compound_statement "{\n              pppppuVar34 = (undefined4 *****)(*local_c4)[3];\n              if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }\n              ppppuVar17 = pppppuVar14[(int)local_a8[1]];\n              if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }\n            }" ({ "{") (expression_statement "pppppuVar34 = (undefined4 *****)(*local_c4)[3];" (assignment_expression "pppppuVar34 = (undefined4 *****)(*local_c4)[3]" (identifier "pppppuVar34") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[3]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[3]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }" (if "if") (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar34 == (undefined4 *****)0x0" (identifier "pppppuVar34") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;\n                FUN_000534d0();\n                    \n                uVar39 = FUN_0002e11a();\n                return uVar39;\n              }" ({ "{") (labeled_statement "LAB_0008c3f9:\n                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;" (statement_identifier "LAB_0008c3f9") (: ":") (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c3fe;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c3fe" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8c3fe")) (; ";"))) (expression_statement "FUN_000534d0();" (call_expression "FUN_000534d0()" (identifier "FUN_000534d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar39 = FUN_0002e11a();" (assignment_expression "uVar39 = FUN_0002e11a()" (identifier "uVar39") (= "=") (call_expression "FUN_0002e11a()" (identifier "FUN_0002e11a") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar39;" (return "return") (identifier "uVar39") (; ";")) (} "}"))) (expression_statement "ppppuVar17 = pppppuVar14[(int)local_a8[1]];" (assignment_expression "ppppuVar17 = pppppuVar14[(int)local_a8[1]]" (identifier "ppppuVar17") (= "=") (subscript_expression "pppppuVar14[(int)local_a8[1]]" (identifier "pppppuVar14") ([ "[") (cast_expression "(int)local_a8[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]"))) (] "]"))) (; ";")) (if_statement "if (ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }" (if "if") (parenthesized_expression "(ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2))" (( "(") (binary_expression "ppppuVar17 <\n                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" (identifier "ppppuVar17") (< "<") (cast_expression "(undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)" (( "(") (binary_expression "(int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2" (binary_expression "(int)pppppuVar34[0x14] - (int)pppppuVar34[0x13]" (cast_expression "(int)pppppuVar34[0x14]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar34[0x14]" (identifier "pppppuVar34") ([ "[") (number_literal "0x14") (] "]"))) (- "-") (cast_expression "(int)pppppuVar34[0x13]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar34[0x13]" (identifier "pppppuVar34") ([ "[") (number_literal "0x13") (] "]")))) (>> ">>") (number_literal "2")) () ")")))) () ")")) (compound_statement "{\n                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];\n              }" ({ "{") (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar34[0x13][(int)ppppuVar17]" (subscript_expression "pppppuVar34[0x13]" (identifier "pppppuVar34") ([ "[") (number_literal "0x13") (] "]")) ([ "[") (cast_expression "(int)ppppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar17")) (] "]")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            }" (else "else") (compound_statement "{\n            }" ({ "{") (} "}")))) (} "}"))) (expression_statement "local_5c._0_4_ = (undefined4 *******)local_10c;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)local_10c" (field_expression "local_5c._0_4_" (identifier "local_5c") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_10c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_10c"))) (; ";")) (expression_statement "local_5c._4_4_ = (undefined4 *******)local_108;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)local_108" (field_expression "local_5c._4_4_" (identifier "local_5c") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *******)local_108" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_108"))) (; ";")) (if_statement "if (((uint)pppppuVar26[2] & 2) == 0) {\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }" (if "if") (parenthesized_expression "(((uint)pppppuVar26[2] & 2) == 0)" (( "(") (binary_expression "((uint)pppppuVar26[2] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" (( "(") (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[2]" (identifier "pppppuVar26") ([ "[") (number_literal "2") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar36 + -8) = local_bc;\n            *(undefined8 **)(puVar36 + -0xc) = &local_5c;\n            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;\n            cVar7 = FUN_00088b60();\n            unaff_EBX = (undefined4 *******)0x0;\n            if (cVar7 == '\0') goto LAB_00089370;\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined8 **)(puVar36 + -0xc) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar36 + -0xc) = &local_5c" (pointer_expression "*(undefined8 **)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined8 **)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "*(undefined4 ******)(puVar36 + -0x10) = *local_a8;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x10) = *local_a8" (pointer_expression "*(undefined4 ******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 ******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*local_a8" (* "*") (identifier "local_a8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8b155;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8b155" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b155")) (; ";")) (expression_statement "cVar7 = FUN_00088b60();" (assignment_expression "cVar7 = FUN_00088b60()" (identifier "cVar7") (= "=") (call_expression "FUN_00088b60()" (identifier "FUN_00088b60") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)0x0;" (assignment_expression "unaff_EBX = (undefined4 *******)0x0" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (cVar7 == '\0') goto LAB_00089370;" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";"))) (} "}"))) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc);" (assignment_expression "bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" (identifier "bVar41") (= "=") (call_expression "CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" (identifier "CARRY4") (argument_list "((int)(undefined4 *******)local_dc + (int)local_e4,\n                          (uint)(undefined4 *******)local_cc)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4"))) (, ",") (cast_expression "(uint)(undefined4 *******)local_cc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) () ")")))) (; ";")) (expression_statement "local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc);" (assignment_expression "local_cc._0_4_ =\n               (undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)\n               ((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4 +\n               (int)(undefined4 *******)local_cc" (binary_expression "(int)(undefined4 *******)local_dc + (int)local_e4" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4"))) (+ "+") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")")))) (; ";")) (expression_statement "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41);" (assignment_expression "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)\n               ((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41)" (( "(") (binary_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_ + bVar41" (binary_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +\n                (int)local_cc._4_4_" (cast_expression "(undefined *)\n                ((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0)" (( "(") (binary_expression "(int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0" (binary_expression "(int)local_dc._4_4_ +\n                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" (cast_expression "(int)local_dc._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_"))) (+ "+") (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4)" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_dc,(uint)local_e4)" (( "(") (cast_expression "(uint)(undefined4 *******)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (, ",") (cast_expression "(uint)local_e4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e4")) () ")"))))) (+ "+") (cast_expression "(int)local_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e0"))) () ")"))) (+ "+") (cast_expression "(int)local_cc._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")))) (+ "+") (identifier "bVar41")) () ")")))) (; ";")) (expression_statement "pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))\n          ;" (assignment_expression "pppppppuVar30 =\n               (undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" (identifier "pppppppuVar30") (= "=") (cast_expression "(undefined4 *******)\n               ((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))" (( "(") (binary_expression "(int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c) +\n               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc))" (binary_expression "(int)local_5c._4_4_ +\n               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" (cast_expression "(int)local_5c._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_5c._4_4_" (identifier "local_5c") (. ".") (field_identifier "_4_4_"))) (+ "+") (cast_expression "(uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" (identifier "CARRY4") (argument_list "((int)local_f4 - (int)(undefined4 *******)local_cc,\n                            (uint)(undefined4 *******)local_5c)" (( "(") (binary_expression "(int)local_f4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (- "-") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) (, ",") (cast_expression "(uint)(undefined4 *******)local_5c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_5c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_5c"))) () ")"))))) (+ "+") (parenthesized_expression "((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc))" (( "(") (binary_expression "(local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)" (parenthesized_expression "(local_f0 - (int)local_cc._4_4_)" (( "(") (binary_expression "local_f0 - (int)local_cc._4_4_" (identifier "local_f0") (- "-") (cast_expression "(int)local_cc._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")))) () ")")) (- "-") (call_expression "(uint)(local_f4 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_f4 < (undefined4 *******)local_cc)" (( "(") (binary_expression "local_f4 < (undefined4 *******)local_cc" (identifier "local_f4") (< "<") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) () ")")))) () ")"))) () ")")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f)" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_f0 << 1 | (uint)local_f4 >> 0x1f)" (( "(") (binary_expression "local_f0 << 1 | (uint)local_f4 >> 0x1f" (binary_expression "local_f0 << 1" (identifier "local_f0") (<< "<<") (number_literal "1")) (| "|") (binary_expression "(uint)local_f4 >> 0x1f" (cast_expression "(uint)local_f4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_f4")) (>> ">>") (number_literal "0x1f"))) () ")")))) (; ";")) (expression_statement "local_10c = (undefined4 *******)local_5c;" (assignment_expression "local_10c = (undefined4 *******)local_5c" (identifier "local_10c") (= "=") (cast_expression "(undefined4 *******)local_5c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_5c"))) (; ";")) (expression_statement "local_108 = local_5c._4_4_;" (assignment_expression "local_108 = local_5c._4_4_" (identifier "local_108") (= "=") (field_expression "local_5c._4_4_" (identifier "local_5c") (. ".") (field_identifier "_4_4_"))) (; ";")) (if_statement "if (unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX))" (( "(") (binary_expression "unaff_EBX <= pppppppuVar30 &&\n              (uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)" (binary_expression "unaff_EBX <= pppppppuVar30" (identifier "unaff_EBX") (<= "<=") (identifier "pppppppuVar30")) (&& "&&") (binary_expression "(uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=\n              (uint)((int)pppppppuVar30 - (int)unaff_EBX)" (call_expression "(uint)((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2))" (( "(") (binary_expression "(undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)" (cast_expression "(undefined *)\n                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c)" (( "(") (binary_expression "((int)local_f4 - (int)(undefined4 *******)local_cc) +\n                     (int)(undefined4 *******)local_5c" (parenthesized_expression "((int)local_f4 - (int)(undefined4 *******)local_cc)" (( "(") (binary_expression "(int)local_f4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (- "-") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")")) (+ "+") (cast_expression "(int)(undefined4 *******)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_5c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_5c")))) () ")"))) (< "<") (cast_expression "(undefined *)((int)local_f4 * 2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f4 * 2)" (( "(") (binary_expression "(int)local_f4 * 2" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (* "*") (number_literal "2")) () ")")))) () ")"))) (<= "<=") (call_expression "(uint)((int)pppppppuVar30 - (int)unaff_EBX)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppppuVar30 - (int)unaff_EBX)" (( "(") (binary_expression "(int)pppppppuVar30 - (int)unaff_EBX" (cast_expression "(int)pppppppuVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar30")) (- "-") (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX"))) () ")"))))) () ")")) (compound_statement "{\n            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }\n          }" ({ "{") (if_statement "if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }\n            else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" (if "if") (parenthesized_expression "((undefined4 *******)local_b4 == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_b4 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }\n              ppppppuVar31 = local_40;\n              pppppuVar26 = (undefined4 *****)(*local_a8)[1];\n              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;\n              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;\n              uVar9 = gettext();\n              unaff_EBX = (undefined4 *******)local_ac;\n              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;\n              *(undefined4 *)(puVar36 + -0x14) = uVar9;\n                    \n              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;\n              FUN_000d1360();\n              puVar35 = puVar36 + -4;\n              if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }\n            }" ({ "{") (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x10]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "(*ppppppuVar31)[0x10]" (parenthesized_expression "(*ppppppuVar31)" (( "(") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) () ")")) ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }\n              else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" (if "if") (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4))" (( "(") (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)" (identifier "pppppppuVar10") (== "==") (cast_expression "(undefined4 *******)(local_ac + -0xd8af4)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xd8af4)" (( "(") (binary_expression "local_ac + -0xd8af4" (identifier "local_ac") (+ "+") (number_literal "-0xd8af4")) () ")")))) () ")")) (compound_statement "{\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;\n                FUN_000b1290();\n              }" ({ "{") (expression_statement "*(undefined4 ******)(puVar36 + -8) = local_a8[1];" (assignment_expression "*(undefined4 ******)(puVar36 + -8) = local_a8[1]" (pointer_expression "*(undefined4 ******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 ******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + 0x24" (identifier "ppppppuVar31") (+ "+") (number_literal "0x24"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bd71;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bd71" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bd71")) (; ";")) (expression_statement "FUN_000b1290();" (call_expression "FUN_000b1290()" (identifier "FUN_000b1290") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" (else "else") (compound_statement "{\n                *(undefined4 ******)(puVar36 + -8) = local_a8[1];\n                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;\n                *(undefined4 *******)(puVar36 + -0x10) = local_bc;\n                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;\n                (*(code *)pppppppuVar10)();\n              }" ({ "{") (expression_statement "*(undefined4 ******)(puVar36 + -8) = local_a8[1];" (assignment_expression "*(undefined4 ******)(puVar36 + -8) = local_a8[1]" (pointer_expression "*(undefined4 ******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 ******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf53;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf53" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bf53")) (; ";")) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "ppppppuVar31 = local_40;" (assignment_expression "ppppppuVar31 = local_40" (identifier "ppppppuVar31") (= "=") (identifier "local_40")) (; ";")) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_a8)[1];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_a8)[1]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_a8)[1]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_a8)[1]" (parenthesized_expression "(*local_a8)" (( "(") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")) () ")")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "local_ac + -0x4723a" (identifier "local_ac") (+ "+") (number_literal "-0x4723a"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bd99;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bd99" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x18)" (( "(") (binary_expression "puVar36 + -0x18" (identifier "puVar36") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8bd99")) (; ";")) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" (identifier "uVar9") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar36 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 ******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppuVar26")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bdac;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bdac" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x18)" (( "(") (binary_expression "puVar36 + -0x18" (identifier "puVar36") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8bdac")) (; ";")) (expression_statement "FUN_000d1360();" (call_expression "FUN_000d1360()" (identifier "FUN_000d1360") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" (identifier "puVar35") (= "=") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if ((undefined4 *******)local_40 != &local_38) {\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }" (if "if") (parenthesized_expression "((undefined4 *******)local_40 != &local_38)" (( "(") (binary_expression "(undefined4 *******)local_40 != &local_38" (cast_expression "(undefined4 *******)local_40" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_40")) (!= "!=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar36 + -0x14) = local_40;\n                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;\n                FUN_00248220();\n                puVar35 = puVar36 + -4;\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = local_40;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = local_40" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bdc6" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x18)" (( "(") (binary_expression "puVar36 + -0x18" (identifier "puVar36") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8bdc6")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" (identifier "puVar35") (= "=") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" (else "else") (compound_statement "{\n              if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }\n              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);\n              local_dc._0_4_ = (undefined4 *******)local_a8[4];\n              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;\n              local_e4 = ((undefined4 *******)local_b4)[0x1f];\n              *(undefined4 *)(puVar36 + -0x10) = 0x1c;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;\n              ppppppuVar11 = (undefined4 ******)FUN_00246670();\n              local_38 = (undefined4 *******)0x8000;\n              *ppppppuVar11 = (undefined4 *****)0x0;\n              local_3c = local_108;\n              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);\n              ppppppuVar11[2] = local_108;\n              ppppppuVar11[1] = local_10c;\n              ppppppuVar11[4] = local_34;\n              ppppppuVar11[3] = (undefined4 *****)0x8000;\n              ppppppuVar11[5] = local_e4;\n              local_40 = local_10c;\n              ppppppuVar31 = pppppppuVar10[0x16];\n              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);\n              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;\n              *(undefined4 *******)(puVar36 + -0x10) = local_f4;\n              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;\n              local_b4._0_4_ = pppppppuVar10;\n              piVar13 = (int *)FUN_0004df50();\n              unaff_EBX = (undefined4 *******)local_ac;\n              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }\n              if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }\n              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }\n              *(undefined4 *)(puVar35 + -4) = 0x89d6b;\n              lVar44 = FUN_00056b90();\n              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);\n              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);\n              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }\n            }" ({ "{") (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n                local_121 = false;\n              }\n              else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" (if "if") (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" (identifier "pppppppuVar16") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                local_121 = false;\n              }" ({ "{") (expression_statement "local_121 = false;" (assignment_expression "local_121 = false" (identifier "local_121") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" (else "else") (compound_statement "{\n                local_121 = false;\n                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }\n              }" ({ "{") (expression_statement "local_121 = false;" (assignment_expression "local_121 = false" (identifier "local_121") (= "=") (false "false")) (; ";")) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];\n                }" ({ "{") (expression_statement "local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];" (assignment_expression "local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b]" (identifier "local_121") (= "=") (binary_expression "pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b]" (subscript_expression "pppppppuVar16[2]" (identifier "pppppppuVar16") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(undefined4 ******)pppppuVar26[0x2b]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "pppppuVar26[0x2b]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2b") (] "]"))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);" (assignment_expression "local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121)" (identifier "local_f4") (= "=") (cast_expression "(undefined4 ******)CONCAT31(local_f4._1_3_,local_121)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "CONCAT31(local_f4._1_3_,local_121)" (identifier "CONCAT31") (argument_list "(local_f4._1_3_,local_121)" (( "(") (field_expression "local_f4._1_3_" (identifier "local_f4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "local_121") () ")"))))) (; ";")) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_a8[4]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;" (assignment_expression "local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff" (identifier "local_128") (= "=") (binary_expression "(uint)(undefined4 *******)local_dc & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (& "&") (number_literal "0x7fffffff"))) (; ";")) (expression_statement "local_e4 = ((undefined4 *******)local_b4)[0x1f];" (assignment_expression "local_e4 = ((undefined4 *******)local_b4)[0x1f]" (identifier "local_e4") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1f") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = 0x1c" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x1c")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89c71;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89c71" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x89c71")) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)FUN_00246670();" (assignment_expression "ppppppuVar11 = (undefined4 ******)FUN_00246670()" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)FUN_00246670()" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_00246670()" (identifier "FUN_00246670") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_38 = (undefined4 *******)0x8000;" (assignment_expression "local_38 = (undefined4 *******)0x8000" (identifier "local_38") (= "=") (cast_expression "(undefined4 *******)0x8000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x8000"))) (; ";")) (expression_statement "*ppppppuVar11 = (undefined4 *****)0x0;" (assignment_expression "*ppppppuVar11 = (undefined4 *****)0x0" (pointer_expression "*ppppppuVar11" (* "*") (identifier "ppppppuVar11")) (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_3c = local_108;" (assignment_expression "local_3c = local_108" (identifier "local_3c") (= "=") (identifier "local_108")) (; ";")) (expression_statement "local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);" (assignment_expression "local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_)" (identifier "local_34") (= "=") (cast_expression "(undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "CONCAT31(local_34._1_3_,local_f4._0_1_)" (identifier "CONCAT31") (argument_list "(local_34._1_3_,local_f4._0_1_)" (( "(") (field_expression "local_34._1_3_" (identifier "local_34") (. ".") (field_identifier "_1_3_")) (, ",") (field_expression "local_f4._0_1_" (identifier "local_f4") (. ".") (field_identifier "_0_1_")) () ")"))))) (; ";")) (expression_statement "ppppppuVar11[2] = local_108;" (assignment_expression "ppppppuVar11[2] = local_108" (subscript_expression "ppppppuVar11[2]" (identifier "ppppppuVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_108")) (; ";")) (expression_statement "ppppppuVar11[1] = local_10c;" (assignment_expression "ppppppuVar11[1] = local_10c" (subscript_expression "ppppppuVar11[1]" (identifier "ppppppuVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_10c")) (; ";")) (expression_statement "ppppppuVar11[4] = local_34;" (assignment_expression "ppppppuVar11[4] = local_34" (subscript_expression "ppppppuVar11[4]" (identifier "ppppppuVar11") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "ppppppuVar11[3] = (undefined4 *****)0x8000;" (assignment_expression "ppppppuVar11[3] = (undefined4 *****)0x8000" (subscript_expression "ppppppuVar11[3]" (identifier "ppppppuVar11") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(undefined4 *****)0x8000" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x8000"))) (; ";")) (expression_statement "ppppppuVar11[5] = local_e4;" (assignment_expression "ppppppuVar11[5] = local_e4" (subscript_expression "ppppppuVar11[5]" (identifier "ppppppuVar11") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_e4")) (; ";")) (expression_statement "local_40 = local_10c;" (assignment_expression "local_40 = local_10c" (identifier "local_40") (= "=") (identifier "local_10c")) (; ";")) (expression_statement "ppppppuVar31 = pppppppuVar10[0x16];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0x16]" (identifier "ppppppuVar31") (= "=") (subscript_expression "pppppppuVar10[0x16]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x16") (] "]"))) (; ";")) (expression_statement "local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);" (assignment_expression "local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000)" (identifier "local_f4") (= "=") (cast_expression "(undefined4 ******)((uint)local_10c ^ 0x8000)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)local_10c ^ 0x8000)" (( "(") (binary_expression "(uint)local_10c ^ 0x8000" (cast_expression "(uint)local_10c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_10c")) (^ "^") (number_literal "0x8000")) () ")")))) (; ";")) (expression_statement "uVar39 = (uint)local_f4 % (uint)ppppppuVar31;" (assignment_expression "uVar39 = (uint)local_f4 % (uint)ppppppuVar31" (identifier "uVar39") (= "=") (binary_expression "(uint)local_f4 % (uint)ppppppuVar31" (cast_expression "(uint)local_f4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_f4")) (% "%") (cast_expression "(uint)ppppppuVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppuVar31")))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_f4;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_f4" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_f4")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89cef;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89cef" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x89cef")) (; ";")) (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "piVar13 = (int *)FUN_0004df50();" (assignment_expression "piVar13 = (int *)FUN_0004df50()" (identifier "piVar13") (= "=") (cast_expression "(int *)FUN_0004df50()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0004df50()" (identifier "FUN_0004df50") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";")) (if_statement "if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }\n              else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" (if "if") (parenthesized_expression "((piVar13 == (int *)0x0) || (*piVar13 == 0))" (( "(") (binary_expression "(piVar13 == (int *)0x0) || (*piVar13 == 0)" (parenthesized_expression "(piVar13 == (int *)0x0)" (( "(") (binary_expression "piVar13 == (int *)0x0" (identifier "piVar13") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar13 == 0)" (( "(") (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                local_12c = ((undefined4 *******)local_b4)[0x1a];\n                *(undefined4 *)(puVar36 + -0x10) = 1;\n                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];\n                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;\n                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;\n                *(char **)(puVar36 + -0x20) = local_94;\n                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;\n                FUN_0028d8d0();\n                puVar35 = puVar36 + -4;\n                local_dc._0_4_ = (undefined4 *******)local_90;\n                if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }\n                pppppppuVar10 = (undefined4 *******)local_b4;\n                unaff_EBX = (undefined4 *******)(uVar39 * 4);\n                ppppppuVar11[6] = local_f4;\n                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }\n                ((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);\n                if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }\n              }" ({ "{") (expression_statement "local_12c = ((undefined4 *******)local_b4)[0x1a];" (assignment_expression "local_12c = ((undefined4 *******)local_b4)[0x1a]" (identifier "local_12c") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x1a]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x18)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x18)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x18)" (( "(") (binary_expression "puVar36 + -0x18" (identifier "puVar36") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19" (pointer_expression "*(undefined4 ********)(puVar36 + -0x1c)" (* "*") (cast_expression "(undefined4 ********)(puVar36 + -0x1c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar36 + -0x1c)" (( "(") (binary_expression "puVar36 + -0x1c" (identifier "puVar36") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "(undefined4 *******)local_b4 + 0x19" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (+ "+") (number_literal "0x19"))) (; ";")) (expression_statement "*(char **)(puVar36 + -0x20) = local_94;" (assignment_expression "*(char **)(puVar36 + -0x20) = local_94" (pointer_expression "*(char **)(puVar36 + -0x20)" (* "*") (cast_expression "(char **)(puVar36 + -0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + -0x20)" (( "(") (binary_expression "puVar36 + -0x20" (identifier "puVar36") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x24) = 0x89ddd;" (assignment_expression "*(undefined4 *)(puVar36 + -0x24) = 0x89ddd" (pointer_expression "*(undefined4 *)(puVar36 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x24)" (( "(") (binary_expression "puVar36 + -0x24" (identifier "puVar36") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x89ddd")) (; ";")) (expression_statement "FUN_0028d8d0();" (call_expression "FUN_0028d8d0()" (identifier "FUN_0028d8d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" (identifier "puVar35") (= "=") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "local_dc._0_4_ = (undefined4 *******)local_90;" (assignment_expression "local_dc._0_4_ = (undefined4 *******)local_90" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_90" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_90"))) (; ";")) (if_statement "if (local_94[0] == '\0') {\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }\n                else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" (if "if") (parenthesized_expression "(local_94[0] == '\0')" (( "(") (binary_expression "local_94[0] == '\0'" (subscript_expression "local_94[0]" (identifier "local_94") ([ "[") (number_literal "0") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  local_12c = ((undefined4 *******)local_b4)[0x15];\n                }" ({ "{") (expression_statement "local_12c = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "local_12c = ((undefined4 *******)local_b4)[0x15]" (identifier "local_12c") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" (else "else") (compound_statement "{\n                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }\n                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;\n                  if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }\n                  if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }\n                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;\n                  ((undefined4 *******)local_b4)[0x15] = local_12c;\n                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;\n                }" ({ "{") (if_statement "if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }\n                  else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" (if "if") (parenthesized_expression "((undefined4 *******)local_90 == (undefined4 *******)0x1)" (( "(") (binary_expression "(undefined4 *******)local_90 == (undefined4 *******)0x1" (cast_expression "(undefined4 *******)local_90" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_90")) (== "==") (cast_expression "(undefined4 *******)0x1" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                    local_12c = local_138;\n                  }" ({ "{") (expression_statement "((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;" (assignment_expression "((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[0x1b]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1b") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_138 = (undefined4 *******)local_b4 + 0x1b;" (assignment_expression "local_138 = (undefined4 *******)local_b4 + 0x1b" (identifier "local_138") (= "=") (binary_expression "(undefined4 *******)local_b4 + 0x1b" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (+ "+") (number_literal "0x1b"))) (; ";")) (expression_statement "local_12c = local_138;" (assignment_expression "local_12c = local_138" (identifier "local_12c") (= "=") (identifier "local_138")) (; ";")) (} "}")) (else_clause "else {\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" (else "else") (compound_statement "{\n                    \n                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;\n                    local_12c = (undefined4 ******)FUN_00053420();\n                    local_138 = (undefined4 *******)local_b4 + 0x1b;\n                  }" ({ "{") (expression_statement "*(undefined4 *)(puVar36 + -8) = 0x89e0d;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0x89e0d" (pointer_expression "*(undefined4 *)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x89e0d")) (; ";")) (expression_statement "local_12c = (undefined4 ******)FUN_00053420();" (assignment_expression "local_12c = (undefined4 ******)FUN_00053420()" (identifier "local_12c") (= "=") (cast_expression "(undefined4 ******)FUN_00053420()" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_00053420()" (identifier "FUN_00053420") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_138 = (undefined4 *******)local_b4 + 0x1b;" (assignment_expression "local_138 = (undefined4 *******)local_b4 + 0x1b" (identifier "local_138") (= "=") (binary_expression "(undefined4 *******)local_b4 + 0x1b" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (+ "+") (number_literal "0x1b"))) (; ";")) (} "}")))) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x17]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }" (if "if") (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" (( "(") (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" (identifier "ppppppuVar31") (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    local_134 = (undefined4 *******)local_b4 + 0x17;\n                    local_130 = 0;\n                    local_13c = local_a8;\n                    do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);\n                  }" ({ "{") (expression_statement "local_134 = (undefined4 *******)local_b4 + 0x17;" (assignment_expression "local_134 = (undefined4 *******)local_b4 + 0x17" (identifier "local_134") (= "=") (binary_expression "(undefined4 *******)local_b4 + 0x17" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (+ "+") (number_literal "0x17"))) (; ";")) (expression_statement "local_130 = 0;" (assignment_expression "local_130 = 0" (identifier "local_130") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_13c = local_a8;" (assignment_expression "local_13c = local_a8" (identifier "local_13c") (= "=") (identifier "local_a8")) (; ";")) (do_statement "do {\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    } while (ppppppuVar33 != (undefined4 ******)0x0);" (do "do") (compound_statement "{\n                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;\n                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;\n                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);\n                      if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }\n                      local_130 = uVar39;\n                      ppppppuVar31 = ppppppuVar33;\n                      local_140 = ppppppuVar11;\n                    }" ({ "{") (expression_statement "ppppppuVar33 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "ppppppuVar33 = (undefined4 ******)*ppppppuVar31" (identifier "ppppppuVar33") (= "=") (cast_expression "(undefined4 ******)*ppppppuVar31" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")))) (; ";")) (expression_statement "uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;" (assignment_expression "uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc" (identifier "uVar39") (= "=") (binary_expression "(uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc" (cast_expression "(uint)ppppppuVar31[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[6]" (identifier "ppppppuVar31") ([ "[") (number_literal "6") (] "]"))) (% "%") (cast_expression "(uint)(undefined4 *******)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);" (assignment_expression "pppppppuVar10 = (undefined4 *******)(local_12c + uVar39)" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(local_12c + uVar39)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_12c + uVar39)" (( "(") (binary_expression "local_12c + uVar39" (identifier "local_12c") (+ "+") (identifier "uVar39")) () ")")))) (; ";")) (if_statement "if (*pppppppuVar10 == (undefined4 ******)0x0) {\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }\n                      else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" (if "if") (parenthesized_expression "(*pppppppuVar10 == (undefined4 ******)0x0)" (( "(") (binary_expression "*pppppppuVar10 == (undefined4 ******)0x0" (pointer_expression "*pppppppuVar10" (* "*") (identifier "pppppppuVar10")) (== "==") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];\n                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;\n                        *pppppppuVar10 = local_134;\n                        if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }\n                      }" ({ "{") (expression_statement "*ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "*ppppppuVar31 = ((undefined4 *******)local_b4)[0x17]" (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "((undefined4 *******)local_b4)[0x17] = ppppppuVar31;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = ppppppuVar31" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x17") (] "]")) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*pppppppuVar10 = local_134;" (assignment_expression "*pppppppuVar10 = local_134" (pointer_expression "*pppppppuVar10" (* "*") (identifier "pppppppuVar10")) (= "=") (identifier "local_134")) (; ";")) (if_statement "if (*ppppppuVar31 != (undefined4 *****)0x0) {\n                          local_12c[local_130] = ppppppuVar31;\n                        }" (if "if") (parenthesized_expression "(*ppppppuVar31 != (undefined4 *****)0x0)" (( "(") (binary_expression "*ppppppuVar31 != (undefined4 *****)0x0" (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                          local_12c[local_130] = ppppppuVar31;\n                        }" ({ "{") (expression_statement "local_12c[local_130] = ppppppuVar31;" (assignment_expression "local_12c[local_130] = ppppppuVar31" (subscript_expression "local_12c[local_130]" (identifier "local_12c") ([ "[") (identifier "local_130") (] "]")) (= "=") (identifier "ppppppuVar31")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" (else "else") (compound_statement "{\n                        *ppppppuVar31 = **pppppppuVar10;\n                        **pppppppuVar10 = ppppppuVar31;\n                        uVar39 = local_130;\n                      }" ({ "{") (expression_statement "*ppppppuVar31 = **pppppppuVar10;" (assignment_expression "*ppppppuVar31 = **pppppppuVar10" (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) (= "=") (pointer_expression "**pppppppuVar10" (* "*") (pointer_expression "*pppppppuVar10" (* "*") (identifier "pppppppuVar10")))) (; ";")) (expression_statement "**pppppppuVar10 = ppppppuVar31;" (assignment_expression "**pppppppuVar10 = ppppppuVar31" (pointer_expression "**pppppppuVar10" (* "*") (pointer_expression "*pppppppuVar10" (* "*") (identifier "pppppppuVar10"))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "uVar39 = local_130;" (assignment_expression "uVar39 = local_130" (identifier "uVar39") (= "=") (identifier "local_130")) (; ";")) (} "}")))) (expression_statement "local_130 = uVar39;" (assignment_expression "local_130 = uVar39" (identifier "local_130") (= "=") (identifier "uVar39")) (; ";")) (expression_statement "ppppppuVar31 = ppppppuVar33;" (assignment_expression "ppppppuVar31 = ppppppuVar33" (identifier "ppppppuVar31") (= "=") (identifier "ppppppuVar33")) (; ";")) (expression_statement "local_140 = ppppppuVar11;" (assignment_expression "local_140 = ppppppuVar11" (identifier "local_140") (= "=") (identifier "ppppppuVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppuVar33 != (undefined4 ******)0x0)" (( "(") (binary_expression "ppppppuVar33 != (undefined4 ******)0x0" (identifier "ppppppuVar33") (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (((undefined4 *******)local_b4)[0x15] != local_138) {\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }" (if "if") (parenthesized_expression "(((undefined4 *******)local_b4)[0x15] != local_138)" (( "(") (binary_expression "((undefined4 *******)local_b4)[0x15] != local_138" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x15") (] "]")) (!= "!=") (identifier "local_138")) () ")")) (compound_statement "{\n                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;\n                    FUN_00248220();\n                  }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8bccf;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8bccf" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x18)" (( "(") (binary_expression "puVar36 + -0x18" (identifier "puVar36") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8bccf")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;" (assignment_expression "((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc" (subscript_expression "((undefined4 *******)local_b4)[0x16]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x16") (] "]")) (= "=") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (; ";")) (expression_statement "((undefined4 *******)local_b4)[0x15] = local_12c;" (assignment_expression "((undefined4 *******)local_b4)[0x15] = local_12c" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "local_12c")) (; ";")) (expression_statement "uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;" (assignment_expression "uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc" (identifier "uVar39") (= "=") (binary_expression "(uint)local_f4 % (uint)(undefined4 *******)local_dc" (cast_expression "(uint)local_f4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_f4")) (% "%") (cast_expression "(uint)(undefined4 *******)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))))) (; ";")) (} "}")))) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)(uVar39 * 4);" (assignment_expression "unaff_EBX = (undefined4 *******)(uVar39 * 4)" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)(uVar39 * 4)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(uVar39 * 4)" (( "(") (binary_expression "uVar39 * 4" (identifier "uVar39") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "ppppppuVar11[6] = local_f4;" (assignment_expression "ppppppuVar11[6] = local_f4" (subscript_expression "ppppppuVar11[6]" (identifier "ppppppuVar11") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "local_f4")) (; ";")) (if_statement "if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }\n                else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" (if "if") (parenthesized_expression "((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0)" (( "(") (binary_expression "(undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_12c[uVar39]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_12c[uVar39]" (identifier "local_12c") ([ "[") (identifier "uVar39") (] "]"))) (== "==") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];\n                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;\n                  if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }\n                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;\n                }" ({ "{") (expression_statement "*ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];" (assignment_expression "*ppppppuVar11 = ((undefined4 *******)local_b4)[0x17]" (pointer_expression "*ppppppuVar11" (* "*") (identifier "ppppppuVar11")) (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "((undefined4 *******)local_b4)[0x17] = ppppppuVar11;" (assignment_expression "((undefined4 *******)local_b4)[0x17] = ppppppuVar11" (subscript_expression "((undefined4 *******)local_b4)[0x17]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x17") (] "]")) (= "=") (identifier "ppppppuVar11")) (; ";")) (if_statement "if (*ppppppuVar11 == (undefined4 *****)0x0) {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }\n                  else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" (if "if") (parenthesized_expression "(*ppppppuVar11 == (undefined4 *****)0x0)" (( "(") (binary_expression "*ppppppuVar11 == (undefined4 *****)0x0" (pointer_expression "*ppppppuVar11" (* "*") (identifier "ppppppuVar11")) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                  }" ({ "{") (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" (else "else") (compound_statement "{\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];\n                    ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;\n                  }" ({ "{") (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x15]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11;" (assignment_expression "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =\n                         ppppppuVar11" (subscript_expression "ppppppuVar31\n                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]]" (identifier "ppppppuVar31") ([ "[") (binary_expression "(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]" (subscript_expression "(uint)(*ppppppuVar11)[6]" (call_expression "(uint)(*ppppppuVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*ppppppuVar11)" (( "(") (pointer_expression "*ppppppuVar11" (* "*") (identifier "ppppppuVar11")) () ")"))) ([ "[") (number_literal "6") (] "]")) (% "%") (subscript_expression "(uint)((undefined4 *******)local_b4)[0x16]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "0x16") (] "]"))) (] "]")) (= "=") (identifier "ppppppuVar11")) (; ";")) (} "}")))) (expression_statement "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17;" (assignment_expression "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =\n                       (undefined4 *******)local_b4 + 0x17" (pointer_expression "*(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31)" (* "*") (cast_expression "(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "((int)unaff_EBX + (int)ppppppuVar31)" (( "(") (binary_expression "(int)unaff_EBX + (int)ppppppuVar31" (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX")) (+ "+") (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31"))) () ")")))) (= "=") (binary_expression "(undefined4 *******)local_b4 + 0x17" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (+ "+") (number_literal "0x17"))) (; ";")) (} "}")) (else_clause "else {\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" (else "else") (compound_statement "{\n                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];\n                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;\n                }" ({ "{") (expression_statement "*ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];" (assignment_expression "*ppppppuVar11 = (undefined4 *****)*local_12c[uVar39]" (pointer_expression "*ppppppuVar11" (* "*") (identifier "ppppppuVar11")) (= "=") (cast_expression "(undefined4 *****)*local_12c[uVar39]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*local_12c[uVar39]" (* "*") (subscript_expression "local_12c[uVar39]" (identifier "local_12c") ([ "[") (identifier "uVar39") (] "]"))))) (; ";")) (expression_statement "*((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;" (assignment_expression "*((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11" (pointer_expression "*((undefined4 *******)local_b4)[0x15][uVar39]" (* "*") (subscript_expression "((undefined4 *******)local_b4)[0x15][uVar39]" (subscript_expression "((undefined4 *******)local_b4)[0x15]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x15") (] "]")) ([ "[") (identifier "uVar39") (] "]"))) (= "=") (identifier "ppppppuVar11")) (; ";")) (} "}")))) (expression_statement "((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);" (assignment_expression "((undefined4 *******)local_b4)[0x18] =\n                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1)" (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x18") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_b4)[0x18] + 1)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0x18] + 1" (cast_expression "(int)((undefined4 *******)local_b4)[0x18]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0x18]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x18") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (local_121 == false) {\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }\n                else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" (if "if") (parenthesized_expression "(local_121 == false)" (( "(") (binary_expression "local_121 == false" (identifier "local_121") (== "==") (false "false")) () ")")) (compound_statement "{\n                  *(undefined4 *)(puVar36 + -8) = 0x8be14;\n                  uVar43 = FUN_00056b90();\n                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];\n                  local_dc._4_4_ = (undefined4 ******)0x0;\n                  pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);\n                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];\n                  unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));\n                  if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }\n                }" ({ "{") (expression_statement "*(undefined4 *)(puVar36 + -8) = 0x8be14;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0x8be14" (pointer_expression "*(undefined4 *)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x8be14")) (; ";")) (expression_statement "uVar43 = FUN_00056b90();" (assignment_expression "uVar43 = FUN_00056b90()" (identifier "uVar43") (= "=") (call_expression "FUN_00056b90()" (identifier "FUN_00056b90") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e]" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)pppppppuVar10[0x1e]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppppuVar10[0x1e]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x1e") (] "]")))) (; ";")) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]);" (assignment_expression "pppppuVar26 = (undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)\n                                ((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1])" (( "(") (binary_expression "(0x2000000U - (int)(undefined4 *******)local_dc) +\n                                (int)ppppppuVar11[1]" (parenthesized_expression "(0x2000000U - (int)(undefined4 *******)local_dc)" (( "(") (binary_expression "0x2000000U - (int)(undefined4 *******)local_dc" (number_literal "0x2000000U") (- "-") (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc")))) () ")")) (+ "+") (cast_expression "(int)ppppppuVar11[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar11[1]" (identifier "ppppppuVar11") ([ "[") (number_literal "1") (] "]")))) () ")")))) (; ";")) (expression_statement "uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];" (assignment_expression "uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5]" (identifier "uVar39") (= "=") (binary_expression "(int)pppppuVar26 - (int)ppppppuVar11[5]" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (- "-") (cast_expression "(int)ppppppuVar11[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar11[5]" (identifier "ppppppuVar11") ([ "[") (number_literal "5") (] "]"))))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));" (assignment_expression "unaff_EBX = (undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)\n                              ((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)))" (( "(") (binary_expression "(int)ppppppuVar11[2] +\n                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43))" (cast_expression "(int)ppppppuVar11[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar11[2]" (identifier "ppppppuVar11") ([ "[") (number_literal "2") (] "]"))) (+ "+") (parenthesized_expression "(((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43))" (( "(") (binary_expression "((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)" (parenthesized_expression "((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20))" (( "(") (binary_expression "(((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -\n                               (int)((ulonglong)uVar43 >> 0x20)" (parenthesized_expression "(((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5]))" (( "(") (binary_expression "((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])" (parenthesized_expression "((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       ))" (( "(") (binary_expression "(uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1]) -\n                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" (cast_expression "(uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" (identifier "CARRY4") (argument_list "(0x2000000U - (int)(undefined4 *******)local_dc,\n                                               (uint)ppppppuVar11[1])" (( "(") (binary_expression "0x2000000U - (int)(undefined4 *******)local_dc" (number_literal "0x2000000U") (- "-") (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc")))) (, ",") (cast_expression "(uint)ppppppuVar11[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar11[1]" (identifier "ppppppuVar11") ([ "[") (number_literal "1") (] "]"))) () ")")))) (- "-") (call_expression "(uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)0x2000000 < (undefined4 *******)local_dc\n                                       )" (( "(") (binary_expression "(undefined4 *******)0x2000000 < (undefined4 *******)local_dc" (cast_expression "(undefined4 *******)0x2000000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x2000000")) (< "<") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) () ")")))) () ")")) (- "-") (call_expression "(uint)(pppppuVar26 < ppppppuVar11[5])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppuVar26 < ppppppuVar11[5])" (( "(") (binary_expression "pppppuVar26 < ppppppuVar11[5]" (identifier "pppppuVar26") (< "<") (subscript_expression "ppppppuVar11[5]" (identifier "ppppppuVar11") ([ "[") (number_literal "5") (] "]"))) () ")")))) () ")")) (- "-") (cast_expression "(int)((ulonglong)uVar43 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar43 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar43")) (>> ">>") (number_literal "0x20")) () ")")))) () ")")) (- "-") (call_expression "(uint)(uVar39 < (uint)uVar43)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 < (uint)uVar43)" (( "(") (binary_expression "uVar39 < (uint)uVar43" (identifier "uVar39") (< "<") (cast_expression "(uint)uVar43" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar43"))) () ")")))) () ")"))) () ")")))) (; ";")) (if_statement "if (unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }\n                  else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" (if "if") (parenthesized_expression "(unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX)" (( "(") (binary_expression "unaff_EBX == (undefined4 *******)0x0 &&\n                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX" (binary_expression "unaff_EBX == (undefined4 *******)0x0" (identifier "unaff_EBX") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "(uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX" (call_expression "(uint)(0x3ffffff < uVar39 - (uint)uVar43)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3ffffff < uVar39 - (uint)uVar43)" (( "(") (binary_expression "0x3ffffff < uVar39 - (uint)uVar43" (number_literal "0x3ffffff") (< "<") (binary_expression "uVar39 - (uint)uVar43" (identifier "uVar39") (- "-") (cast_expression "(uint)uVar43" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar43")))) () ")"))) (<= "<=") (binary_expression "(uint)-(int)unaff_EBX" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX"))))) () ")")) (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;\n                  }" ({ "{") (expression_statement "((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;" (assignment_expression "((undefined4 *******)local_b4)[0x1f] = local_e4 + 1" (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1f") (] "]")) (= "=") (binary_expression "local_e4 + 1" (identifier "local_e4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" (else "else") (compound_statement "{\n                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;\n                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n                    pppppuVar26 = ppppppuVar31[0x19];\n                    *(undefined4 *******)(puVar36 + -8) = local_bc;\n                    *(undefined4 *)(puVar36 + -0xc) = 0;\n                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);\n                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;\n                    *(undefined1 **)(puVar36 + -0x14) = local_9c;\n                    local_40 = local_10c;\n                    local_3c = local_108;\n                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;\n                    FUN_000b09c0();\n                    puVar35 = puVar36 + -8;\n                  }" ({ "{") (expression_statement "((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;" (assignment_expression "((undefined4 *******)local_b4)[0x1f] = local_e4 + 4" (subscript_expression "((undefined4 *******)local_b4)[0x1f]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1f") (] "]")) (= "=") (binary_expression "local_e4 + 4" (identifier "local_e4") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "pppppuVar26 = ppppppuVar31[0x19];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x19]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar31[0x19]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = (undefined4 ******)((int)pppppuVar26 * 8);" (assignment_expression "local_38 = (undefined4 ******)((int)pppppuVar26 * 8)" (identifier "local_38") (= "=") (cast_expression "(undefined4 ******)((int)pppppuVar26 * 8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppuVar26 * 8)" (( "(") (binary_expression "(int)pppppuVar26 * 8" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (* "*") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + 0x16" (identifier "ppppppuVar31") (+ "+") (number_literal "0x16"))) (; ";")) (expression_statement "*(undefined1 **)(puVar36 + -0x14) = local_9c;" (assignment_expression "*(undefined1 **)(puVar36 + -0x14) = local_9c" (pointer_expression "*(undefined1 **)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "local_40 = local_10c;" (assignment_expression "local_40 = local_10c" (identifier "local_40") (= "=") (identifier "local_10c")) (; ";")) (expression_statement "local_3c = local_108;" (assignment_expression "local_3c = local_108" (identifier "local_3c") (= "=") (identifier "local_108")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x18) = 0x8beab;" (assignment_expression "*(undefined4 *)(puVar36 + -0x18) = 0x8beab" (pointer_expression "*(undefined4 *)(puVar36 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x18)" (( "(") (binary_expression "puVar36 + -0x18" (identifier "puVar36") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8beab")) (; ";")) (expression_statement "FUN_000b09c0();" (call_expression "FUN_000b09c0()" (identifier "FUN_000b09c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar35 = puVar36 + -8;" (assignment_expression "puVar35 = puVar36 + -8" (identifier "puVar35") (= "=") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" (else "else") (compound_statement "{\n                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;\n                  puVar35 = puVar36 + -4;\n                }" ({ "{") (expression_statement "*(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;" (assignment_expression "*(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1" (pointer_expression "*(undefined1 *)((undefined4 *******)local_b4 + 0x23)" (* "*") (cast_expression "(undefined1 *)((undefined4 *******)local_b4 + 0x23)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((undefined4 *******)local_b4 + 0x23)" (( "(") (binary_expression "(undefined4 *******)local_b4 + 0x23" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (+ "+") (number_literal "0x23")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" (identifier "puVar35") (= "=") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" (else "else") (compound_statement "{\n                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;\n                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;\n                FUN_00248220();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89d13;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89d13" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x89d13")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_128 - 0xb < 3) {\n                uVar39 = 0x8000;\n              }\n              else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" (if "if") (parenthesized_expression "(local_128 - 0xb < 3)" (( "(") (binary_expression "local_128 - 0xb < 3" (binary_expression "local_128 - 0xb" (identifier "local_128") (- "-") (number_literal "0xb")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                uVar39 = 0x8000;\n              }" ({ "{") (expression_statement "uVar39 = 0x8000;" (assignment_expression "uVar39 = 0x8000" (identifier "uVar39") (= "=") (number_literal "0x8000")) (; ";")) (} "}")) (else_clause "else {\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" (else "else") (compound_statement "{\n                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;\n                uVar39 = 0x2000000;\n              }" ({ "{") (if_statement "if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))\n                goto LAB_00089370;" (if "if") (parenthesized_expression "(((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))" (( "(") (binary_expression "((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17)" (parenthesized_expression "((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0)" (( "(") (binary_expression "(local_128 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(local_128 + 0x7ffffff6 & 0x7ffffff7)" (( "(") (binary_expression "local_128 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "local_128 + 0x7ffffff6" (identifier "local_128") (+ "+") (number_literal "0x7ffffff6")) (& "&") (number_literal "0x7ffffff7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_128 != 0x17)" (( "(") (binary_expression "local_128 != 0x17" (identifier "local_128") (!= "!=") (number_literal "0x17")) () ")"))) () ")")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";"))) (expression_statement "uVar39 = 0x2000000;" (assignment_expression "uVar39 = 0x2000000" (identifier "uVar39") (= "=") (number_literal "0x2000000")) (; ";")) (} "}")))) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" (( "(") (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" (( "(") (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_"))) (& "&") (cast_expression "(uint)(undefined4 *******)local_cc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_0008c2e9:\n                ppppppuVar31 = local_ac;\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;\n                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;\n                FUN_000da200();\n              }" ({ "{") (labeled_statement "LAB_0008c2e9:\n                ppppppuVar31 = local_ac;" (statement_identifier "LAB_0008c2e9") (: ":") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x478da" (identifier "local_ac") (+ "+") (number_literal "-0x478da"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x11b2;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x11b2" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x11b2")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x4745f" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x4745f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c30a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c30a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c30a")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x89d6b;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x89d6b" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x89d6b")) (; ";")) (expression_statement "lVar44 = FUN_00056b90();" (assignment_expression "lVar44 = FUN_00056b90()" (identifier "lVar44") (= "=") (call_expression "FUN_00056b90()" (identifier "FUN_00056b90") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39);" (assignment_expression "lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" (identifier "lVar44") (= "=") (binary_expression "lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" (identifier "lVar44") (+ "+") (call_expression "CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" (identifier "CONCAT44") (argument_list "((-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39),\n                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39)" (( "(") (binary_expression "(-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_) +\n                                         (uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" (parenthesized_expression "(-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_)" (( "(") (binary_expression "-(uint)(local_e4 < (undefined4 *******)local_cc) -\n                                         (int)local_cc._4_4_" (unary_expression "-(uint)(local_e4 < (undefined4 *******)local_cc)" (- "-") (call_expression "(uint)(local_e4 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_e4 < (undefined4 *******)local_cc)" (( "(") (binary_expression "local_e4 < (undefined4 *******)local_cc" (identifier "local_e4") (< "<") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) () ")")))) (- "-") (cast_expression "(int)local_cc._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")))) () ")")) (+ "+") (cast_expression "(uint)CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" (identifier "CARRY4") (argument_list "((int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc,uVar39)" (( "(") (binary_expression "(int)local_e4 -\n                                                      (int)(undefined4 *******)local_cc" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (- "-") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) (, ",") (identifier "uVar39") () ")"))))) (, ",") (binary_expression "((int)local_e4 - (int)(undefined4 *******)local_cc) +\n                                         uVar39" (parenthesized_expression "((int)local_e4 - (int)(undefined4 *******)local_cc)" (( "(") (binary_expression "(int)local_e4 - (int)(undefined4 *******)local_cc" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (- "-") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")")) (+ "+") (identifier "uVar39")) () ")"))))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);" (assignment_expression "unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20)" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)((ulonglong)lVar44 >> 0x20)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar44")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }" (if "if") (parenthesized_expression "((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX)" (( "(") (binary_expression "(undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX" (cast_expression "(undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(uint)((uint)lVar44 < uVar39 * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)lVar44 < uVar39 * 2)" (( "(") (binary_expression "(uint)lVar44 < uVar39 * 2" (cast_expression "(uint)lVar44" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar44")) (< "<") (binary_expression "uVar39 * 2" (identifier "uVar39") (* "*") (number_literal "2"))) () ")")))) (<= "<=") (identifier "unaff_EBX")) () ")")) (compound_statement "{\n                ppppppuVar31 = (undefined4 ******)*local_c4;\n                puVar36 = puVar35;\n                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;\n                goto LAB_0008a2be;\n              }" ({ "{") (expression_statement "ppppppuVar31 = (undefined4 ******)*local_c4;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_c4" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_c4" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")))) (; ";")) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" (identifier "puVar36") (= "=") (identifier "puVar35")) (; ";")) (if_statement "if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;" (if "if") (parenthesized_expression "(ppppppuVar31[2] != (undefined4 *****)0x0)" (( "(") (binary_expression "ppppppuVar31[2] != (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[2]" (identifier "ppppppuVar31") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008a1d8;" (goto "goto") (statement_identifier "LAB_0008a1d8") (; ";"))) (goto_statement "goto LAB_0008a2be;" (goto "goto") (statement_identifier "LAB_0008a2be") (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}")) (else_clause "else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" (else "else") (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }\n        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ppppppuVar31 = pppppppuVar16[2];\n          if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }\n        }" ({ "{") (expression_statement "ppppppuVar31 = pppppppuVar16[2];" (assignment_expression "ppppppuVar31 = pppppppuVar16[2]" (identifier "ppppppuVar31") (= "=") (subscript_expression "pppppppuVar16[2]" (identifier "pppppppuVar16") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (((uint)ppppppuVar31[0xb] & 1) == 0) {\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }" (if "if") (parenthesized_expression "(((uint)ppppppuVar31[0xb] & 1) == 0)" (( "(") (binary_expression "((uint)ppppppuVar31[0xb] & 1) == 0" (parenthesized_expression "((uint)ppppppuVar31[0xb] & 1)" (( "(") (binary_expression "(uint)ppppppuVar31[0xb] & 1" (cast_expression "(uint)ppppppuVar31[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[0xb]" (identifier "ppppppuVar31") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];\n            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }\n            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;\n            unaff_EBX = (undefined4 *******)0x0;\n          }" ({ "{") (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(*ppppppuVar31)[5]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "(*ppppppuVar31)[5]" (parenthesized_expression "(*ppppppuVar31)" (( "(") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) () ")")) ([ "[") (number_literal "5") (] "]")))) (; ";")) (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }" (if "if") (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60))" (( "(") (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)" (identifier "pppppppuVar10") (!= "!=") (cast_expression "(undefined4 *******)(local_ac + -0xdbf60)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xdbf60)" (( "(") (binary_expression "local_ac + -0xdbf60" (identifier "local_ac") (+ "+") (number_literal "-0xdbf60")) () ")")))) () ")")) (compound_statement "{\n              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;\n              iVar19 = (*(code *)pppppppuVar10)();\n              unaff_EBX = (undefined4 *******)ppppppuVar11;\n              if (iVar19 != 0) goto LAB_00089370;\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bd01;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bd01" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bd01")) (; ";")) (expression_statement "iVar19 = (*(code *)pppppppuVar10)();" (assignment_expression "iVar19 = (*(code *)pppppppuVar10)()" (identifier "iVar19") (= "=") (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar11;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar11" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)ppppppuVar11" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuVar11"))) (; ";")) (if_statement "if (iVar19 != 0) goto LAB_00089370;" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";"))) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;\n                *(undefined4 *)(puVar36 + -0xc) = 0xaa;\n                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;\n                    \n                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 ********)(puVar36 + -4) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -4) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 ********)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47797" (identifier "local_ac") (+ "+") (number_literal "-0x47797"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xaa")) (; ";")) (expression_statement "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;" (assignment_expression "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2" (pointer_expression "*(int *)(puVar36 + -0x10)" (* "*") (cast_expression "(int *)(puVar36 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_ac + -0x11d0d2" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;" (assignment_expression "*(undefined **)(puVar36 + -0x14) = &UNK_0008bd35" (pointer_expression "*(undefined **)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008bd35" (& "&") (identifier "UNK_0008bd35"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;" (if "if") (parenthesized_expression "(pppppppuVar16[3] != (undefined4 ******)0x0)" (( "(") (binary_expression "pppppppuVar16[3] != (undefined4 ******)0x0" (subscript_expression "pppppppuVar16[3]" (identifier "pppppppuVar16") ([ "[") (number_literal "3") (] "]")) (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00089b0f;" (goto "goto") (statement_identifier "LAB_00089b0f") (; ";"))) (expression_statement "unaff_EBX = (undefined4 *******)0x0;" (assignment_expression "unaff_EBX = (undefined4 *******)0x0" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" (else "else") (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;\n          local_bc = &local_40;\n          *(undefined4 *******)(puVar36 + -8) = local_bc;\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;\n          lVar44 = FUN_001eb810();\n          local_5c = lVar44;\n          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }\n        }" ({ "{") (labeled_statement "LAB_00089b0f:\n          unaff_EBX = (undefined4 *******)local_ac;" (statement_identifier "LAB_00089b0f") (: ":") (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";"))) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" (identifier "local_bc") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 ********)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89b2b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89b2b" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x89b2b")) (; ";")) (expression_statement "lVar44 = FUN_001eb810();" (assignment_expression "lVar44 = FUN_001eb810()" (identifier "lVar44") (= "=") (call_expression "FUN_001eb810()" (identifier "FUN_001eb810") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_5c = lVar44;" (assignment_expression "local_5c = lVar44" (identifier "local_5c") (= "=") (identifier "lVar44")) (; ";")) (if_statement "if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }" (if "if") (parenthesized_expression "((undefined4 *******)local_40 == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_40 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_40" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_40")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);\n            goto LAB_00089b5e;\n          }" ({ "{") (expression_statement "local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);" (assignment_expression "local_5c = lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" (identifier "local_5c") (= "=") (binary_expression "lVar44 + (ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" (identifier "lVar44") (+ "+") (call_expression "(ulonglong)\n                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc)" (( "(") (binary_expression "1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc" (binary_expression "1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5)" (number_literal "1") (<< "<<") (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x29) >> 5)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x29) >> 5" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x29)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x29)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x29" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x29")) () ")")))) (>> ">>") (number_literal "5")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (goto_statement "goto LAB_00089b5e;" (goto "goto") (statement_identifier "LAB_00089b5e") (; ";")) (} "}"))) (} "}"))))))) (} "}")) (else_clause "else {\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];\n        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];\n        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }\n        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];\n        local_c4 = local_f8;\n        pppppuVar26 = (undefined4 *****)(*local_f8)[3];\n        if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }\n        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;\n        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }\nLAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];\n        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }\n        uVar9 = 0;\n        if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }\n        *(undefined4 *)(puVar36 + -0xc) = uVar9;\n        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;\n        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;\n        cVar7 = FUN_000a7d80();\n        if (cVar7 == '\0') goto LAB_000899ee;\n        if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }\nLAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        ppppppuVar11 = (undefined4 ******)local_a8[1];\n        pppppppuVar10 = (undefined4 *******)local_fc;\n        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }\nLAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;\n        pppppuVar26 = ppppppuVar31[0x21];\n        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;\n        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];\n        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];\n        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }\n        local_10c = (undefined4 ******)local_a8[6];\n        unaff_EBX = (undefined4 *******)local_a8[7];\n        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;\n        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];\n        uVar39 = (uint)local_a8[4] & 0x7fffffff;\n        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];\n        puVar38 = puVar36;\n        local_108 = unaff_EBX;\n        local_38 = local_10c;\n        local_34 = unaff_EBX;\n        local_2c = (undefined4 *******)local_dc;\n        if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }\n        local_dc._4_4_ = (undefined4 ******)0x0;\n        local_e0 = (undefined4 *****)0x0;\n        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;\n        ppppppuVar31 = (undefined4 ******)*local_c4;\nLAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;\n        puVar36 = puVar35;\n        if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }\nLAB_0008a2be:\n        puVar35 = puVar36;\n        if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }\n      }" ({ "{") (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f]" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)ppppppuVar31[0x2f]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppuVar31[0x2f]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x2f") (] "]")))) (; ";")) (expression_statement "uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];" (assignment_expression "uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c]" (identifier "uVar39") (= "=") (binary_expression "(int)ppppppuVar11 - (int)ppppppuVar31[0x2c]" (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (- "-") (cast_expression "(int)ppppppuVar31[0x2c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0x2c]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x2c") (] "]"))))) (; ";")) (if_statement "if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39)" (( "(") (binary_expression "(uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39" (call_expression "(uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2)" (( "(") (binary_expression "(int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2" (binary_expression "(int)ppppppuVar31[0x30] - (int)unaff_EBX" (cast_expression "(int)ppppppuVar31[0x30]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0x30]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x30") (] "]"))) (- "-") (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar39")) () ")")) (compound_statement "{\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;\n          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;\n          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;\n          FUN_000da200();\n        }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47737" (identifier "local_ac") (+ "+") (number_literal "-0x47737"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8ad")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x4746e" (identifier "local_ac") (+ "+") (number_literal "-0x4746e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c096;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c096" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c096")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];" (assignment_expression "pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39]" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)unaff_EBX[uVar39]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "unaff_EBX[uVar39]" (identifier "unaff_EBX") ([ "[") (identifier "uVar39") (] "]")))) (; ";")) (expression_statement "local_c4 = local_f8;" (assignment_expression "local_c4 = local_f8" (identifier "local_c4") (= "=") (identifier "local_f8")) (; ";")) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_f8)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_f8)[3]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_f8)[3]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_f8)[3]" (parenthesized_expression "(*local_f8)" (( "(") (pointer_expression "*local_f8" (* "*") (identifier "local_f8")) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;\n          *(undefined4 *)(puVar36 + -0xc) = 0x73;\n          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;\n                    \n          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;\n          FUN_000da200();\n        }" ({ "{") (labeled_statement "LAB_0008c096:\n          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;" (statement_identifier "LAB_0008c096") (: ":") (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x477ea" (identifier "local_ac") (+ "+") (number_literal "-0x477ea"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x73;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x73" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x73")) (; ";")) (expression_statement "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;" (assignment_expression "*(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93" (pointer_expression "*(int *)(puVar36 + -0x10)" (* "*") (cast_expression "(int *)(puVar36 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_ac + -0x131d93" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c0b4" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c0b4")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;" (if "if") (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" (identifier "pppppppuVar16") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000899b9;" (goto "goto") (statement_identifier "LAB_000899b9") (; ";"))) (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }\n        else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pppppppuVar10 = unaff_EBX;\n          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }\n        }" ({ "{") (expression_statement "pppppppuVar10 = unaff_EBX;" (assignment_expression "pppppppuVar10 = unaff_EBX" (identifier "pppppppuVar10") (= "=") (identifier "unaff_EBX")) (; ";")) (if_statement "if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }" (if "if") (parenthesized_expression "(((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0))" (( "(") (binary_expression "((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&\n             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16)" (( "(") (binary_expression "(undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16" (cast_expression "(undefined4 *******)pppppuVar26[0x2c]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[0x2c]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2c") (] "]"))) (== "==") (identifier "pppppppuVar16")) () ")")) (&& "&&") (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[0x2d]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2d") (] "]"))) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          }" ({ "{") (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[0x2d]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2d") (] "]")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" (else "else") (compound_statement "{\n          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;\n          *(undefined4 *)(puVar36 + -0x10) = param_4;\n          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;\n          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();\n          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];\n          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }\n        }" ({ "{") (expression_statement "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 ********)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x10) = param_4;" (assignment_expression "*(undefined4 *)(puVar36 + -0x10) = param_4" (pointer_expression "*(undefined4 *)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a11a;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a11a" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8a11a")) (; ";")) (expression_statement "pppppppuVar30 = (undefined4 *******)FUN_001e6f30();" (assignment_expression "pppppppuVar30 = (undefined4 *******)FUN_001e6f30()" (identifier "pppppppuVar30") (= "=") (cast_expression "(undefined4 *******)FUN_001e6f30()" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_001e6f30()" (identifier "FUN_001e6f30") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];" (assignment_expression "pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d]" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)pppppuVar26[0x2d]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[0x2d]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2d") (] "]")))) (; ";")) (if_statement "if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }" (if "if") (parenthesized_expression "((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0))" (( "(") (binary_expression "(((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)) &&\n             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)" (parenthesized_expression "(((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0))" (( "(") (binary_expression "((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||\n              (pppppppuVar16 == (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30)" (( "(") (binary_expression "(undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30" (cast_expression "(undefined4 *******)pppppuVar26[0x2c]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[0x2c]" (identifier "pppppuVar26") ([ "[") (number_literal "0x2c") (] "]"))) (!= "!=") (identifier "pppppppuVar30")) () ")")) (|| "||") (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" (identifier "pppppppuVar16") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)" (( "(") (comma_expression "pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0" (assignment_expression "pppppppuVar16 = pppppppuVar30" (identifier "pppppppuVar16") (= "=") (identifier "pppppppuVar30")) (, ",") (binary_expression "pppppppuVar30 == (undefined4 *******)0x0" (identifier "pppppppuVar30") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n            ppppppuVar31 = (undefined4 ******)*local_a8;\n            ppppppuVar11 = (undefined4 ******)local_a8[5];\n            goto LAB_000899d1;\n          }" ({ "{") (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[5];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[5]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[5]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[5]" (identifier "local_a8") ([ "[") (number_literal "5") (] "]")))) (; ";")) (goto_statement "goto LAB_000899d1;" (goto "goto") (statement_identifier "LAB_000899d1") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00089257:\n        local_b4._0_4_ = (undefined4 *******)local_a8[4];" (statement_identifier "LAB_00089257") (: ":") (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_a8[4]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (if_statement "if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }" (if "if") (parenthesized_expression "(((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd)" (( "(") (binary_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd" (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff)" (( "(") (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (& "&") (number_literal "0x7fffffff")) () ")")) (< "<") (number_literal "0xfd")) () ")")) (compound_statement "{\n                    \n                    \n          uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();\n          return uVar39;\n        }" ({ "{") (expression_statement "uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))();" (assignment_expression "uVar39 = (*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))()" (identifier "uVar39") (= "=") (call_expression "(*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))()" (parenthesized_expression "(*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]))" (( "(") (pointer_expression "*(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" (* "*") (cast_expression "(code *)((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43])" (( "(") (binary_expression "(int)local_ac +\n                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (+ "+") (cast_expression "(int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43]" (identifier "local_ac") ([ "[") (binary_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff) -\n                                           0x49f43" (parenthesized_expression "((uint)(undefined4 *******)local_b4 & 0x7fffffff)" (( "(") (binary_expression "(uint)(undefined4 *******)local_b4 & 0x7fffffff" (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (& "&") (number_literal "0x7fffffff")) () ")")) (- "-") (number_literal "0x49f43")) (] "]")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar39;" (return "return") (identifier "uVar39") (; ";")) (} "}"))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((uint)pppppuVar26[2] & 2) == 0) {\n          uVar9 = 0x10;\n        }" (if "if") (parenthesized_expression "(((uint)pppppuVar26[2] & 2) == 0)" (( "(") (binary_expression "((uint)pppppuVar26[2] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" (( "(") (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[2]" (identifier "pppppuVar26") ([ "[") (number_literal "2") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar9 = 0x10;\n        }" ({ "{") (expression_statement "uVar9 = 0x10;" (assignment_expression "uVar9 = 0x10" (identifier "uVar9") (= "=") (number_literal "0x10")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x892ab;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x892ab" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x892ab")) (; ";")) (expression_statement "cVar7 = FUN_000a7d80();" (assignment_expression "cVar7 = FUN_000a7d80()" (identifier "cVar7") (= "=") (call_expression "FUN_000a7d80()" (identifier "FUN_000a7d80") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 == '\0') goto LAB_000899ee;" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000899ee;" (goto "goto") (statement_identifier "LAB_000899ee") (; ";"))) (if_statement "if (((uint)pppppuVar26[2] & 2) != 0) {\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }" (if "if") (parenthesized_expression "(((uint)pppppuVar26[2] & 2) != 0)" (( "(") (binary_expression "((uint)pppppuVar26[2] & 2) != 0" (parenthesized_expression "((uint)pppppuVar26[2] & 2)" (( "(") (binary_expression "(uint)pppppuVar26[2] & 2" (cast_expression "(uint)pppppuVar26[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[2]" (identifier "pppppuVar26") ([ "[") (number_literal "2") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n          if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }\n          goto LAB_0008c0b4;\n        }" ({ "{") (expression_statement "pppppuVar14 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar14") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (pppppuVar14 != (undefined4 *****)0x0) {\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }" (if "if") (parenthesized_expression "(pppppuVar14 != (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar14 != (undefined4 *****)0x0" (identifier "pppppuVar14") (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;\n            local_b4._0_4_ = (undefined4 *******)local_a8[4];\n            *(undefined4 *)(puVar36 + -4) = 0x89306;\n            uVar9 = FUN_00051ac0();\n            if ((char)uVar9 != '\0') goto LAB_00089ed0;\n            ppppuVar17 = pppppuVar26[10];\n            if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }\n            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }\n            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);\n            *(undefined4 ********)(puVar36 + -4) = &local_40;\n            *(undefined4 *)(puVar36 + -8) = 0;\n            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;\n            *(undefined1 **)(puVar36 + -0x10) = local_84;\n            *(undefined4 *)(puVar36 + -0x14) = 0x89359;\n            local_40 = pppppppuVar16;\n            local_3c = unaff_EBX;\n            FUN_000b03a0();\n            puVar35 = puVar36 + -4;\n            if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }\n            goto LAB_00089370;\n          }" ({ "{") (if_statement "if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;" (if "if") (parenthesized_expression "((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0'))" (( "(") (binary_expression "(*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||\n               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)((int)pppppuVar14 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)((int)pppppuVar14 + 0x1a25) != '\0'" (pointer_expression "*(char *)((int)pppppuVar14 + 0x1a25)" (* "*") (cast_expression "(char *)((int)pppppuVar14 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar14 + 0x1a25)" (( "(") (binary_expression "(int)pppppuVar14 + 0x1a25" (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14")) (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)pppppuVar14 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)((int)pppppuVar14 + 0x2931) != '\0'" (pointer_expression "*(char *)((int)pppppuVar14 + 0x2931)" (* "*") (cast_expression "(char *)((int)pppppuVar14 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar14 + 0x2931)" (( "(") (binary_expression "(int)pppppuVar14 + 0x2931" (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14")) (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00089ed0;" (goto "goto") (statement_identifier "LAB_00089ed0") (; ";"))) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[4];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[4]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_a8[4]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x89306;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x89306" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x89306")) (; ";")) (expression_statement "uVar9 = FUN_00051ac0();" (assignment_expression "uVar9 = FUN_00051ac0()" (identifier "uVar9") (= "=") (call_expression "FUN_00051ac0()" (identifier "FUN_00051ac0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((char)uVar9 != '\0') goto LAB_00089ed0;" (if "if") (parenthesized_expression "((char)uVar9 != '\0')" (( "(") (binary_expression "(char)uVar9 != '\0'" (cast_expression "(char)uVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar9")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00089ed0;" (goto "goto") (statement_identifier "LAB_00089ed0") (; ";"))) (expression_statement "ppppuVar17 = pppppuVar26[10];" (assignment_expression "ppppuVar17 = pppppuVar26[10]" (identifier "ppppuVar17") (= "=") (subscript_expression "pppppuVar26[10]" (identifier "pppppuVar26") ([ "[") (number_literal "10") (] "]"))) (; ";")) (if_statement "if (ppppuVar17 == (undefined4 ****)0x0) {\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }" (if "if") (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0x0)" (( "(") (binary_expression "ppppuVar17 == (undefined4 ****)0x0" (identifier "ppppuVar17") (== "==") (cast_expression "(undefined4 ****)0x0" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar36 + -4) = uVar9;\n              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;\n              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;\n              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;\n              FUN_000da200();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar36 + -4) = uVar9;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = uVar9" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x477b1" (identifier "local_ac") (+ "+") (number_literal "-0x477b1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0x3a3;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0x3a3" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x3a3")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x4745f" (identifier "local_ac") (+ "+") (number_literal "-0x4745f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c3f9" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c3f9")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" (if "if") (parenthesized_expression "(*(char *)(pppppuVar14 + 0xac7) == '\0')" (( "(") (binary_expression "*(char *)(pppppuVar14 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar14 + 0xac7)" (* "*") (cast_expression "(char *)(pppppuVar14 + 0xac7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppuVar14 + 0xac7)" (( "(") (binary_expression "pppppuVar14 + 0xac7" (identifier "pppppuVar14") (+ "+") (number_literal "0xac7")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              uVar39 = 0xffffffe0;\n              iVar19 = 0x20;\n            }" ({ "{") (expression_statement "uVar39 = 0xffffffe0;" (assignment_expression "uVar39 = 0xffffffe0" (identifier "uVar39") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" (identifier "iVar19") (= "=") (number_literal "0x20")) (; ";")) (} "}")) (else_clause "else {\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" (else "else") (compound_statement "{\n              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n              uVar39 = -iVar19;\n            }" ({ "{") (expression_statement "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f)" (identifier "iVar19") (= "=") (binary_expression "1 << ((byte)pppppuVar14[0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)pppppuVar14[0xac8] & 0x1f)" (( "(") (binary_expression "(byte)pppppuVar14[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar14[0xac8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pppppuVar14[0xac8]" (identifier "pppppuVar14") ([ "[") (number_literal "0xac8") (] "]"))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar39 = -iVar19;" (assignment_expression "uVar39 = -iVar19" (identifier "uVar39") (= "=") (unary_expression "-iVar19" (- "-") (identifier "iVar19"))) (; ";")) (} "}")))) (expression_statement "unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);" (assignment_expression "unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39)" (( "(") (binary_expression "(int)ppppuVar17[0x14] + iVar19 + -1 & uVar39" (binary_expression "(int)ppppuVar17[0x14] + iVar19 + -1" (binary_expression "(int)ppppuVar17[0x14] + iVar19" (cast_expression "(int)ppppuVar17[0x14]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar17[0x14]" (identifier "ppppuVar17") ([ "[") (number_literal "0x14") (] "]"))) (+ "+") (identifier "iVar19")) (+ "+") (number_literal "-1")) (& "&") (identifier "uVar39")) () ")")))) (; ";")) (expression_statement "*(undefined4 ********)(puVar36 + -4) = &local_40;" (assignment_expression "*(undefined4 ********)(puVar36 + -4) = &local_40" (pointer_expression "*(undefined4 ********)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 ********)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar36 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;" (assignment_expression "*(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc" (pointer_expression "*(undefined4 *****)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *****)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "ppppuVar17 + 0xc" (identifier "ppppuVar17") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "*(undefined1 **)(puVar36 + -0x10) = local_84;" (assignment_expression "*(undefined1 **)(puVar36 + -0x10) = local_84" (pointer_expression "*(undefined1 **)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined1 **)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_84")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x89359;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x89359" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x89359")) (; ";")) (expression_statement "local_40 = pppppppuVar16;" (assignment_expression "local_40 = pppppppuVar16" (identifier "local_40") (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "local_3c = unaff_EBX;" (assignment_expression "local_3c = unaff_EBX" (identifier "local_3c") (= "=") (identifier "unaff_EBX")) (; ";")) (expression_statement "FUN_000b03a0();" (call_expression "FUN_000b03a0()" (identifier "FUN_000b03a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" (identifier "puVar35") (= "=") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (local_80 != '\0') {\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }" (if "if") (parenthesized_expression "(local_80 != '\0')" (( "(") (binary_expression "local_80 != '\0'" (identifier "local_80") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              ppppuVar17[0x14] = unaff_EBX + 4;\n              unaff_EBX = unaff_EBX + 4;\n              puVar35 = puVar36 + -4;\n            }" ({ "{") (expression_statement "ppppuVar17[0x14] = unaff_EBX + 4;" (assignment_expression "ppppuVar17[0x14] = unaff_EBX + 4" (subscript_expression "ppppuVar17[0x14]" (identifier "ppppuVar17") ([ "[") (number_literal "0x14") (] "]")) (= "=") (binary_expression "unaff_EBX + 4" (identifier "unaff_EBX") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "unaff_EBX = unaff_EBX + 4;" (assignment_expression "unaff_EBX = unaff_EBX + 4" (identifier "unaff_EBX") (= "=") (binary_expression "unaff_EBX + 4" (identifier "unaff_EBX") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar35 = puVar36 + -4;" (assignment_expression "puVar35 = puVar36 + -4" (identifier "puVar35") (= "=") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";")) (} "}"))) (goto_statement "goto LAB_0008c0b4;" (goto "goto") (statement_identifier "LAB_0008c0b4") (; ";")) (} "}"))) (labeled_statement "LAB_00089ed0:\n        ppppppuVar31 = (undefined4 ******)*local_a8;" (statement_identifier "LAB_00089ed0") (: ":") (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";"))) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[1]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)local_fc;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_fc" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_fc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_fc"))) (; ";")) (if_statement "if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }" (if "if") (parenthesized_expression "((undefined4 *******)local_fc == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_fc == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_fc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_fc")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }\n          pppppppuVar10 = (undefined4 *******)local_110;\n          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;\n        }" ({ "{") (if_statement "if (ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }" (if "if") (parenthesized_expression "(ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2))" (( "(") (binary_expression "ppppppuVar11 <\n              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" (identifier "ppppppuVar11") (< "<") (cast_expression "(undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)" (( "(") (binary_expression "(int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2" (binary_expression "(int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69]" (cast_expression "(int)ppppppuVar31[0x6a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0x6a]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x6a") (] "]"))) (- "-") (cast_expression "(int)ppppppuVar31[0x69]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0x69]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x69") (] "]")))) (>> ">>") (number_literal "2")) () ")")))) () ")")) (compound_statement "{\n            pppppuVar26 = (undefined4 *****)(*local_c4)[3];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;\n            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];\n            if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;\n          }" ({ "{") (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[3];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[3]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[3]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[3]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c3f9;" (goto "goto") (statement_identifier "LAB_0008c3f9") (; ";"))) (expression_statement "ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];" (assignment_expression "ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11]" (identifier "ppppuVar17") (= "=") (subscript_expression "ppppppuVar31[0x69][(int)ppppppuVar11]" (subscript_expression "ppppppuVar31[0x69]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x69") (] "]")) ([ "[") (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (] "]"))) (; ";")) (if_statement "if ((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;" (if "if") (parenthesized_expression "((ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0))" (( "(") (binary_expression "(ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&\n               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)" (parenthesized_expression "(ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2))" (( "(") (binary_expression "ppppuVar17 <\n                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" (identifier "ppppuVar17") (< "<") (cast_expression "(undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)" (( "(") (binary_expression "(int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2" (binary_expression "(int)pppppuVar26[0x14] - (int)pppppuVar26[0x13]" (cast_expression "(int)pppppuVar26[0x14]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[0x14]" (identifier "pppppuVar26") ([ "[") (number_literal "0x14") (] "]"))) (- "-") (cast_expression "(int)pppppuVar26[0x13]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[0x13]" (identifier "pppppuVar26") ([ "[") (number_literal "0x13") (] "]")))) (>> ">>") (number_literal "2")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0)" (( "(") (comma_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],\n               pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[0x13][(int)ppppuVar17]" (subscript_expression "pppppuVar26[0x13]" (identifier "pppppuVar26") ([ "[") (number_literal "0x13") (] "]")) ([ "[") (cast_expression "(int)ppppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar17")) (] "]")))) (, ",") (comma_expression "pppppppuVar10 = (undefined4 *******)local_b4,\n               (undefined4 *******)local_b4 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (, ",") (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (goto_statement "goto LAB_00089eef;" (goto "goto") (statement_identifier "LAB_00089eef") (; ";"))) (} "}"))) (expression_statement "pppppppuVar10 = (undefined4 *******)local_110;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_110" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_110" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_110"))) (; ";")) (if_statement "if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;" (if "if") (parenthesized_expression "((undefined4 *******)local_110 == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_110 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_110" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_110")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c270;" (goto "goto") (statement_identifier "LAB_0008c270") (; ";"))) (} "}"))) (labeled_statement "LAB_00089eef:\n        local_b4._0_4_ = pppppppuVar10;" (statement_identifier "LAB_00089eef") (: ":") (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "pppppppuVar10")) (; ";"))) (expression_statement "pppppuVar26 = ppppppuVar31[0x21];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x21]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar31[0x21]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (if_statement "if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)\n        goto LAB_0008bf9d;" (if "if") (parenthesized_expression "((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)" (( "(") (binary_expression "(undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11" (cast_expression "(undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3)" (( "(") (binary_expression "(int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3" (binary_expression "(int)ppppppuVar31[0x22] - (int)pppppuVar26" (cast_expression "(int)ppppppuVar31[0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0x22]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x22") (] "]"))) (- "-") (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "ppppppuVar11")) () ")")) (goto_statement "goto LAB_0008bf9d;" (goto "goto") (statement_identifier "LAB_0008bf9d") (; ";"))) (expression_statement "local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];" (assignment_expression "local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2]" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar11 * 2]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar11 * 2" (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (* "*") (number_literal "2")) (] "]")))) (; ";")) (expression_statement "local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];" (assignment_expression "local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1]" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "pppppuVar26[(int)ppppppuVar11 * 2 + 1]" (identifier "pppppuVar26") ([ "[") (binary_expression "(int)ppppppuVar11 * 2 + 1" (binary_expression "(int)ppppppuVar11 * 2" (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]")))) (; ";")) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }" (if "if") (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff)" (( "(") (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" (( "(") (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_"))) (& "&") (cast_expression "(uint)(undefined4 *******)local_cc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")")) (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }\n          if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }\n          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);\n          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);\n          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);\n          local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);\n        }" ({ "{") (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x18]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "(*ppppppuVar31)[0x18]" (parenthesized_expression "(*ppppppuVar31)" (( "(") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) () ")")) ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }\n          else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" (if "if") (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec))" (( "(") (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)" (identifier "pppppppuVar10") (== "==") (cast_expression "(undefined4 *******)(local_ac + -0xdb9ec)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xdb9ec)" (( "(") (binary_expression "local_ac + -0xdb9ec" (identifier "local_ac") (+ "+") (number_literal "-0xdb9ec")) () ")")))) () ")")) (compound_statement "{\n            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;\n            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];\n          }" ({ "{") (if_statement "if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11) goto LAB_0008c314;" (if "if") (parenthesized_expression "((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11)" (( "(") (binary_expression "(undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=\n                ppppppuVar11" (cast_expression "(undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2)" (( "(") (binary_expression "(int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2" (binary_expression "(int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe]" (cast_expression "(int)ppppppuVar31[0xf]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0xf]" (identifier "ppppppuVar31") ([ "[") (number_literal "0xf") (] "]"))) (- "-") (cast_expression "(int)ppppppuVar31[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[0xe]" (identifier "ppppppuVar31") ([ "[") (number_literal "0xe") (] "]")))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "ppppppuVar11")) () ")")) (goto_statement "goto LAB_0008c314;" (goto "goto") (statement_identifier "LAB_0008c314") (; ";"))) (expression_statement "ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];" (assignment_expression "ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11]" (identifier "ppppuVar17") (= "=") (subscript_expression "ppppppuVar31[0xe][(int)ppppppuVar11]" (subscript_expression "ppppppuVar31[0xe]" (identifier "ppppppuVar31") ([ "[") (number_literal "0xe") (] "]")) ([ "[") (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" (else "else") (compound_statement "{\n            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;\n            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;\n            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppppppuVar11")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8a707;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8a707" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8a707")) (; ";")) (expression_statement "ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();" (assignment_expression "ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)()" (identifier "ppppuVar17") (= "=") (cast_expression "(undefined4 ****)(*(code *)pppppppuVar10)()" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (if_statement "if (((uint)ppppuVar17[7] & 1) == 0) {\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(((uint)ppppuVar17[7] & 1) == 0)" (( "(") (binary_expression "((uint)ppppuVar17[7] & 1) == 0" (parenthesized_expression "((uint)ppppuVar17[7] & 1)" (( "(") (binary_expression "(uint)ppppuVar17[7] & 1" (cast_expression "(uint)ppppuVar17[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppuVar17[7]" (identifier "ppppuVar17") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0008bf5b:\n            ppppppuVar31 = local_ac;\n            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar36 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;\n            FUN_000da200();\n          }" ({ "{") (labeled_statement "LAB_0008bf5b:\n            ppppppuVar31 = local_ac;" (statement_identifier "LAB_0008bf5b") (: ":") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47743" (identifier "local_ac") (+ "+") (number_literal "-0x47743"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf7c" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bf7c")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);" (assignment_expression "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" (identifier "bVar41") (= "=") (call_expression "CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_cc,(uint)local_a8[2])" (( "(") (cast_expression "(uint)(undefined4 *******)local_cc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) (, ",") (cast_expression "(uint)local_a8[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]"))) () ")")))) (; ";")) (expression_statement "puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);" (assignment_expression "puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2])" (identifier "puVar23") (= "=") (cast_expression "(undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_cc + (int)local_a8[2])" (( "(") (binary_expression "(int)(undefined4 *******)local_cc + (int)local_a8[2]" (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) (+ "+") (cast_expression "(int)local_a8[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]")))) () ")")))) (; ";")) (expression_statement "local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1])" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)(puVar23 + (int)ppppuVar17[1])" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar23 + (int)ppppuVar17[1])" (( "(") (binary_expression "puVar23 + (int)ppppuVar17[1]" (identifier "puVar23") (+ "+") (cast_expression "(int)ppppuVar17[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar17[1]" (identifier "ppppuVar17") ([ "[") (number_literal "1") (] "]")))) () ")")))) (; ";")) (expression_statement "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);" (assignment_expression "local_cc._4_4_ =\n               (undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)\n               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41)" (( "(") (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41" (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1])" (binary_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +\n               (int)ppppuVar17[2]" (cast_expression "(undefined *)((int)local_cc._4_4_ + (int)local_a8[3])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_cc._4_4_ + (int)local_a8[3])" (( "(") (binary_expression "(int)local_cc._4_4_ + (int)local_a8[3]" (cast_expression "(int)local_cc._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_"))) (+ "+") (cast_expression "(int)local_a8[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[3]" (identifier "local_a8") ([ "[") (number_literal "3") (] "]")))) () ")"))) (+ "+") (cast_expression "(int)ppppuVar17[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar17[2]" (identifier "ppppuVar17") ([ "[") (number_literal "2") (] "]")))) (+ "+") (cast_expression "(uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)puVar23,(uint)ppppuVar17[1])" (identifier "CARRY4") (argument_list "((uint)puVar23,(uint)ppppuVar17[1])" (( "(") (cast_expression "(uint)puVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar23")) (, ",") (cast_expression "(uint)ppppuVar17[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppuVar17[1]" (identifier "ppppuVar17") ([ "[") (number_literal "1") (] "]"))) () ")"))))) (+ "+") (cast_expression "(uint)bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar41"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_10c = (undefined4 ******)local_a8[6];" (assignment_expression "local_10c = (undefined4 ******)local_a8[6]" (identifier "local_10c") (= "=") (cast_expression "(undefined4 ******)local_a8[6]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[6]" (identifier "local_a8") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)local_a8[7];" (assignment_expression "unaff_EBX = (undefined4 *******)local_a8[7]" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_a8[7]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[7]" (identifier "local_a8") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))\n        ;" (assignment_expression "local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" (identifier "local_e4") (= "=") (cast_expression "(undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" (identifier "CONCAT31") (argument_list "(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))" (( "(") (field_expression "local_e4._1_3_" (identifier "local_e4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(undefined1 *)((int)local_a8 + 0x13)" (* "*") (cast_expression "(undefined1 *)((int)local_a8 + 0x13)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_a8 + 0x13)" (( "(") (binary_expression "(int)local_a8 + 0x13" (cast_expression "(int)local_a8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a8")) (+ "+") (number_literal "0x13")) () ")")))) () ")"))))) (; ";")) (expression_statement "local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d]" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)((undefined4 *******)local_b4)[0x1d]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (expression_statement "uVar39 = (uint)local_a8[4] & 0x7fffffff;" (assignment_expression "uVar39 = (uint)local_a8[4] & 0x7fffffff" (identifier "uVar39") (= "=") (binary_expression "(uint)local_a8[4] & 0x7fffffff" (cast_expression "(uint)local_a8[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]"))) (& "&") (number_literal "0x7fffffff"))) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x11]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x11]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "puVar38 = puVar36;" (assignment_expression "puVar38 = puVar36" (identifier "puVar38") (= "=") (identifier "puVar36")) (; ";")) (expression_statement "local_108 = unaff_EBX;" (assignment_expression "local_108 = unaff_EBX" (identifier "local_108") (= "=") (identifier "unaff_EBX")) (; ";")) (expression_statement "local_38 = local_10c;" (assignment_expression "local_38 = local_10c" (identifier "local_38") (= "=") (identifier "local_10c")) (; ";")) (expression_statement "local_34 = unaff_EBX;" (assignment_expression "local_34 = unaff_EBX" (identifier "local_34") (= "=") (identifier "unaff_EBX")) (; ";")) (expression_statement "local_2c = (undefined4 *******)local_dc;" (assignment_expression "local_2c = (undefined4 *******)local_dc" (identifier "local_2c") (= "=") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (; ";")) (if_statement "if (pppppppuVar16 == (undefined4 *******)0x0) {\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }\n        else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" (if "if") (parenthesized_expression "(pppppppuVar16 == (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar16 == (undefined4 *******)0x0" (identifier "pppppppuVar16") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          local_f4 = (undefined4 ******)local_a8[5];\n          pppppppuVar10 = (undefined4 *******)*local_a8;\n          local_40 = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a382;\n          local_3c = pppppppuVar10;\n          local_30 = local_f4;\n          FUN_000553c0();\n          unaff_EBX = (undefined4 *******)local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);\n          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);\n          local_11c = unaff_EBX;\n        }" ({ "{") (expression_statement "local_f4 = (undefined4 ******)local_a8[5];" (assignment_expression "local_f4 = (undefined4 ******)local_a8[5]" (identifier "local_f4") (= "=") (cast_expression "(undefined4 ******)local_a8[5]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[5]" (identifier "local_a8") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)*local_a8;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*local_a8" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)*local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "local_40 = (undefined4 *******)0x0;" (assignment_expression "local_40 = (undefined4 *******)0x0" (identifier "local_40") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" (identifier "local_bc") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);" (assignment_expression "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" (identifier "local_28") (= "=") (cast_expression "(undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)ppppppuVar31 & 0x3fffffff)" (( "(") (binary_expression "(uint)ppppppuVar31 & 0x3fffffff" (cast_expression "(uint)ppppppuVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppuVar31")) (& "&") (number_literal "0x3fffffff")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a382;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a382" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8a382")) (; ";")) (expression_statement "local_3c = pppppppuVar10;" (assignment_expression "local_3c = pppppppuVar10" (identifier "local_3c") (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "local_30 = local_f4;" (assignment_expression "local_30 = local_f4" (identifier "local_30") (= "=") (identifier "local_f4")) (; ";")) (expression_statement "FUN_000553c0();" (call_expression "FUN_000553c0()" (identifier "FUN_000553c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)local_8c;" (assignment_expression "unaff_EBX = (undefined4 *******)local_8c" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_8c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_8c"))) (; ";")) (if_statement "if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(local_88 != '\0')" (( "(") (binary_expression "local_88 != '\0'" (identifier "local_88") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar36 + -4) = 0x8adcd;\n            iVar19 = FUN_00065740();\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);\n            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8adcd;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8adcd" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8adcd")) (; ";")) (expression_statement "iVar19 = FUN_00065740();" (assignment_expression "iVar19 = FUN_00065740()" (identifier "iVar19") (= "=") (call_expression "FUN_00065740()" (identifier "FUN_00065740") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1d") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_dc + iVar19)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (identifier "iVar19")) () ")")))) (; ";")) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c376;" (goto "goto") (statement_identifier "LAB_0008c376") (; ";"))) (if_statement "if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }\n            else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" (if "if") (parenthesized_expression "(*(char *)(pppppuVar26 + 0xac7) == '\0')" (( "(") (binary_expression "*(char *)(pppppuVar26 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xac7)" (* "*") (cast_expression "(char *)(pppppuVar26 + 0xac7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppuVar26 + 0xac7)" (( "(") (binary_expression "pppppuVar26 + 0xac7" (identifier "pppppuVar26") (+ "+") (number_literal "0xac7")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              uVar20 = 0xffffffe0;\n              iVar22 = 0x20;\n            }" ({ "{") (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" (identifier "uVar20") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "iVar22 = 0x20;" (assignment_expression "iVar22 = 0x20" (identifier "iVar22") (= "=") (number_literal "0x20")) (; ";")) (} "}")) (else_clause "else {\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" (else "else") (compound_statement "{\n              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar22;\n            }" ({ "{") (expression_statement "iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);" (assignment_expression "iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f)" (identifier "iVar22") (= "=") (binary_expression "1 << ((byte)pppppuVar26[0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)pppppuVar26[0xac8] & 0x1f)" (( "(") (binary_expression "(byte)pppppuVar26[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar26[0xac8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pppppuVar26[0xac8]" (identifier "pppppuVar26") ([ "[") (number_literal "0xac8") (] "]"))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar20 = -iVar22;" (assignment_expression "uVar20 = -iVar22" (identifier "uVar20") (= "=") (unary_expression "-iVar22" (- "-") (identifier "iVar22"))) (; ";")) (} "}")))) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1d") (] "]")) (= "=") (cast_expression "(undefined4 ******)\n                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20)" (( "(") (binary_expression "(uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20" (call_expression "(uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1" (binary_expression "(int)(undefined4 *******)local_dc + iVar19 + iVar22" (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (identifier "iVar19")) (+ "+") (identifier "iVar22")) (+ "+") (number_literal "-1")) () ")"))) (& "&") (identifier "uVar20")) () ")")))) (; ";")) (if_statement "if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }" (if "if") (parenthesized_expression "(((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0))" (( "(") (binary_expression "((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&\n               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)" (parenthesized_expression "((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0'))" (( "(") (binary_expression "(((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&\n                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')" (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0)" (( "(") (binary_expression "((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[0xd][2] & 2)" (( "(") (binary_expression "(uint)((undefined4 *******)local_b4)[0xd][2] & 2" (subscript_expression "(uint)((undefined4 *******)local_b4)[0xd][2]" (subscript_expression "(uint)((undefined4 *******)local_b4)[0xd]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "0xd") (] "]")) ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')" (( "(") (binary_expression "*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0'" (pointer_expression "*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" (* "*") (cast_expression "(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9d)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9d" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xd") (] "]"))) (+ "+") (number_literal "0x9d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)" (( "(") (binary_expression "(*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0" (parenthesized_expression "(*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0)" (( "(") (binary_expression "*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0" (pointer_expression "*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c])" (* "*") (cast_expression "(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c])" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f4 + (int)pppppppuVar10[0x6c])" (( "(") (binary_expression "(int)local_f4 + (int)pppppppuVar10[0x6c]" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (+ "+") (cast_expression "(int)pppppppuVar10[0x6c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0x6c]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x6c") (] "]")))) () ")")))) (& "&") (number_literal "0xe0")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              ppppppuVar31 = pppppppuVar10[0x37];\n              if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }\n              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);\n              if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }\n            }" ({ "{") (expression_statement "ppppppuVar31 = pppppppuVar10[0x37];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0x37]" (identifier "ppppppuVar31") (= "=") (subscript_expression "pppppppuVar10[0x37]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x37") (] "]"))) (; ";")) (if_statement "if ((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "((undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4)" (( "(") (binary_expression "(undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4" (cast_expression "(undefined4 *******)\n                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333)" (( "(") (binary_expression "((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333" (parenthesized_expression "((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2)" (( "(") (binary_expression "(int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2" (binary_expression "(int)pppppppuVar10[0x38] - (int)ppppppuVar31" (cast_expression "(int)pppppppuVar10[0x38]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0x38]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x38") (] "]"))) (- "-") (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x33333333")) () ")"))) (<= "<=") (identifier "local_f4")) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar36 + -4) = 0x8c26a;\n                FUN_000538b0();\nLAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;\n                *(undefined4 *)(puVar36 + -0xc) = 0xd24;\n                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;\n                    \n                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c26a;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c26a" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8c26a")) (; ";")) (expression_statement "FUN_000538b0();" (call_expression "FUN_000538b0()" (identifier "FUN_000538b0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0008c270:\n                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" (statement_identifier "LAB_0008c270") (: ":") (expression_statement "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;" (assignment_expression "*(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6" (pointer_expression "*(undefined4 *******)(puVar36 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -8)" (( "(") (binary_expression "puVar36 + -8" (identifier "puVar36") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x478d6" (identifier "local_ac") (+ "+") (number_literal "-0x478d6"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar36 + -0xc) = 0xd24;" (assignment_expression "*(undefined4 *)(puVar36 + -0xc) = 0xd24" (pointer_expression "*(undefined4 *)(puVar36 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0xc)" (( "(") (binary_expression "puVar36 + -0xc" (identifier "puVar36") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xd24")) (; ";")) (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x4745f" (identifier "local_ac") (+ "+") (number_literal "-0x4745f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8c291;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8c291" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c291")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);" (assignment_expression "bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" (identifier "bVar42") (= "=") (pointer_expression "*(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" (* "*") (cast_expression "(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb)" (( "(") (binary_expression "(int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb" (binary_expression "(int)ppppppuVar31 + (int)local_f4 * 0x14" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (binary_expression "(int)local_f4 * 0x14" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (* "*") (number_literal "0x14"))) (+ "+") (number_literal "0xb")) () ")"))))) (; ";")) (if_statement "if ((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)) {\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }" (if "if") (parenthesized_expression "((((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0))" (( "(") (binary_expression "(((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&\n                 ((bVar42 & 8) != 0)" (parenthesized_expression "(((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0))" (( "(") (binary_expression "((bVar42 & 0x40) == 0) &&\n                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)" (parenthesized_expression "((bVar42 & 0x40) == 0)" (( "(") (binary_expression "(bVar42 & 0x40) == 0" (parenthesized_expression "(bVar42 & 0x40)" (( "(") (binary_expression "bVar42 & 0x40" (identifier "bVar42") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)" (( "(") (binary_expression "((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0" (parenthesized_expression "((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff)" (( "(") (binary_expression "(uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff" (cast_expression "(uint)ppppppuVar31[(int)local_f4 * 5 + 2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[(int)local_f4 * 5 + 2]" (identifier "ppppppuVar31") ([ "[") (binary_expression "(int)local_f4 * 5 + 2" (binary_expression "(int)local_f4 * 5" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (* "*") (number_literal "5")) (+ "+") (number_literal "2")) (] "]"))) (& "&") (number_literal "0x7ffffff")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((bVar42 & 8) != 0)" (( "(") (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" (( "(") (binary_expression "bVar42 & 8" (identifier "bVar42") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n              }" ({ "{") (expression_statement "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;" (assignment_expression "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" (* "*") (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX + 0x1f)" (( "(") (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX")) (+ "+") (number_literal "0x1f")) () ")")))) (= "=") (binary_expression "*(byte *)((int)unaff_EBX + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" (* "*") (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX + 0x1f)" (( "(") (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX")) (+ "+") (number_literal "0x1f")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;" (assignment_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1" (pointer_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" (* "*") (cast_expression "(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9f" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xd") (] "]"))) (+ "+") (number_literal "0x9f")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (if_statement "if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }" (if "if") (parenthesized_expression "((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f)))" (( "(") (binary_expression "(-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))" (parenthesized_expression "(-1 < (char)local_e4)" (( "(") (binary_expression "-1 < (char)local_e4" (number_literal "-1") (< "<") (cast_expression "(char)local_e4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_e4"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < *(char *)((int)unaff_EBX + 0x1f))" (( "(") (binary_expression "-1 < *(char *)((int)unaff_EBX + 0x1f)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)unaff_EBX + 0x1f)" (* "*") (cast_expression "(char *)((int)unaff_EBX + 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX + 0x1f)" (( "(") (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX")) (+ "+") (number_literal "0x1f")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;\n          }" ({ "{") (expression_statement "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;" (assignment_expression "*(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" (* "*") (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX + 0x1f)" (( "(") (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX")) (+ "+") (number_literal "0x1f")) () ")")))) (= "=") (binary_expression "*(byte *)((int)unaff_EBX + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)unaff_EBX + 0x1f)" (* "*") (cast_expression "(byte *)((int)unaff_EBX + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX + 0x1f)" (( "(") (binary_expression "(int)unaff_EBX + 0x1f" (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX")) (+ "+") (number_literal "0x1f")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (} "}"))) (if_statement "if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" (if "if") (parenthesized_expression "(uVar39 - 0xb < 3)" (( "(") (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" (identifier "uVar39") (- "-") (number_literal "0xb")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n            local_e4 = (undefined4 *******)0x8000;\n          }" ({ "{") (expression_statement "local_e4 = (undefined4 *******)0x8000;" (assignment_expression "local_e4 = (undefined4 *******)0x8000" (identifier "local_e4") (= "=") (cast_expression "(undefined4 *******)0x8000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x8000"))) (; ";")) (} "}")) (else_clause "else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" (else "else") (compound_statement "{\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" ({ "{") (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;" (if "if") (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17))" (( "(") (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" (( "(") (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" (( "(") (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" (identifier "uVar39") (+ "+") (number_literal "0x7ffffff6")) (& "&") (number_literal "0x7ffffff7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar39 != 0x17)" (( "(") (binary_expression "uVar39 != 0x17" (identifier "uVar39") (!= "!=") (number_literal "0x17")) () ")"))) () ")")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";"))) (expression_statement "local_e4 = (undefined4 *******)0x2000000;" (assignment_expression "local_e4 = (undefined4 *******)0x2000000" (identifier "local_e4") (= "=") (cast_expression "(undefined4 *******)0x2000000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x2000000"))) (; ";")) (} "}")))) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" (identifier "local_e0") (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;" (if "if") (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" (( "(") (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" (( "(") (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_"))) (& "&") (cast_expression "(uint)(undefined4 *******)local_cc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0008c2e9;" (goto "goto") (statement_identifier "LAB_0008c2e9") (; ";"))) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }" (if "if") (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" (( "(") (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;\n            FUN_00052750();\n          }" ({ "{") (labeled_statement "LAB_0008c192:\n                    \n            *(undefined4 *)(puVar38 + -4) = 0x8c197;" (statement_identifier "LAB_0008c192") (: ":") (expression_statement "*(undefined4 *)(puVar38 + -4) = 0x8c197;" (assignment_expression "*(undefined4 *)(puVar38 + -4) = 0x8c197" (pointer_expression "*(undefined4 *)(puVar38 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar38 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -4)" (( "(") (binary_expression "puVar38 + -4" (identifier "puVar38") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8c197")) (; ";"))) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" (identifier "FUN_00052750") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (identifier "uVar39") (= "=") (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" (( "(") (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")"))) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xac8") (] "]")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }" (if "if") (parenthesized_expression "(uVar39 < 0x20)" (( "(") (binary_expression "uVar39 < 0x20" (identifier "uVar39") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n            uVar39 = 0x20;\n          }" ({ "{") (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" (identifier "uVar39") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (if_statement "if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;" (if "if") (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[7] & 1) == 0)" (( "(") (binary_expression "((uint)((undefined4 *******)local_b4)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[7] & 1)" (( "(") (binary_expression "(uint)((undefined4 *******)local_b4)[7] & 1" (subscript_expression "(uint)((undefined4 *******)local_b4)[7]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "7") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008a0fd;" (goto "goto") (statement_identifier "LAB_0008a0fd") (; ";"))) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" (identifier "puVar23") (= "=") (cast_expression "(undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" (( "(") (binary_expression "(uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]" (parenthesized_expression "(uVar39 - 1)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")")) (+ "+") (cast_expression "(int)((undefined4 *******)local_b4)[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "1") (] "]")))) () ")")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "unaff_EBX = (undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" (( "(") (binary_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23" (cast_expression "(int)((undefined4 *******)local_b4)[0x1c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0x1c]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23"))) () ")"))) (& "&") (unary_expression "-uVar39" (- "-") (identifier "uVar39"))) () ")")))) (; ";")) (expression_statement "local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);" (assignment_expression "local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0)" (identifier "local_118") (= "=") (binary_expression "(uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0)" (call_expression "(uint)((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1))" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                            ((uVar39 != 0) - 1)" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +\n                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (cast_expression "(int)((undefined4 *******)local_b4)[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (identifier "CARRY4") (argument_list "((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (( "(") (subscript_expression "(uint)((undefined4 *******)local_b4)[0x1c]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "0x1c") (] "]")) (, ",") (cast_expression "(uint)puVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar23")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (identifier "CARRY4") (argument_list "(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) (, ",") (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "1") (] "]")) () ")"))))) (+ "+") (parenthesized_expression "((uVar39 != 0) - 1)" (( "(") (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) () ")"))) () ")"))) (& "&") (unary_expression "-(uint)(uVar39 != 0)" (- "-") (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);" (assignment_expression "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX)" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)unaff_EBX)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + (int)unaff_EBX" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX"))) () ")")))) (; ";")) (expression_statement "iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);" (assignment_expression "iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" (identifier "iVar19") (= "=") (binary_expression "local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" (identifier "local_118") (+ "+") (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_dc,(uint)unaff_EBX)" (( "(") (cast_expression "(uint)(undefined4 *******)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (, ",") (cast_expression "(uint)unaff_EBX" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_EBX")) () ")"))))) (; ";")) (expression_statement "local_11c = unaff_EBX;" (assignment_expression "local_11c = unaff_EBX" (identifier "local_11c") (= "=") (identifier "unaff_EBX")) (; ";")) (} "}")) (else_clause "else {\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" (else "else") (compound_statement "{\n          local_3c = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_30 = (undefined4 *******)0x0;\n          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);\n          *(undefined4 *)(puVar36 + -4) = 0x8a02d;\n          local_f4 = ppppppuVar31;\n          local_40 = pppppppuVar16;\n          FUN_000553c0();\n          pppppppuVar10 = (undefined4 *******)local_b4;\n          local_f4 = local_8c;\n          if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }\n          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }\n          if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }\n          local_e0 = (undefined4 *****)0x0;\n          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;\n          local_dc._4_4_ = (undefined4 ******)0x0;\n          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;\n          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n          if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }\n          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }\n          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);\n          unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));\n          local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);\n          local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);\n          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);\n          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);\n        }" ({ "{") (expression_statement "local_3c = (undefined4 *******)0x0;" (assignment_expression "local_3c = (undefined4 *******)0x0" (identifier "local_3c") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" (identifier "local_bc") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "local_30 = (undefined4 *******)0x0;" (assignment_expression "local_30 = (undefined4 *******)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);" (assignment_expression "local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" (identifier "local_28") (= "=") (cast_expression "(undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff)" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)ppppppuVar31 & 0x3fffffff)" (( "(") (binary_expression "(uint)ppppppuVar31 & 0x3fffffff" (cast_expression "(uint)ppppppuVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppuVar31")) (& "&") (number_literal "0x3fffffff")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a02d;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a02d" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8a02d")) (; ";")) (expression_statement "local_f4 = ppppppuVar31;" (assignment_expression "local_f4 = ppppppuVar31" (identifier "local_f4") (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "local_40 = pppppppuVar16;" (assignment_expression "local_40 = pppppppuVar16" (identifier "local_40") (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "FUN_000553c0();" (call_expression "FUN_000553c0()" (identifier "FUN_000553c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "local_f4 = local_8c;" (assignment_expression "local_f4 = local_8c" (identifier "local_f4") (= "=") (identifier "local_8c")) (; ";")) (if_statement "if (local_88 != '\0') {\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }" (if "if") (parenthesized_expression "(local_88 != '\0')" (( "(") (binary_expression "local_88 != '\0'" (identifier "local_88") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;\n            iVar19 = FUN_00065740();\n            ppppppuVar11 = local_ac;\n            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);\n            ppppppuVar31 = pppppppuVar10[0xd];\n            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }\n            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }\n            pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n            if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }\n            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }\n            ((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);\n            unaff_EBX = pppppppuVar10;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8a4b7;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8a4b7" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8a4b7")) (; ";")) (expression_statement "iVar19 = FUN_00065740();" (assignment_expression "iVar19 = FUN_00065740()" (identifier "iVar19") (= "=") (call_expression "FUN_00065740()" (identifier "FUN_00065740") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppppppuVar11 = local_ac;" (assignment_expression "ppppppuVar11 = local_ac" (identifier "ppppppuVar11") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);" (assignment_expression "pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (subscript_expression "pppppppuVar10[0x1d]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_dc + iVar19)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_dc + iVar19)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + iVar19" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (identifier "iVar19")) () ")")))) (; ";")) (expression_statement "ppppppuVar31 = pppppppuVar10[0xd];" (assignment_expression "ppppppuVar31 = pppppppuVar10[0xd]" (identifier "ppppppuVar31") (= "=") (subscript_expression "pppppppuVar10[0xd]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (if_statement "if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }" (if "if") (parenthesized_expression "(((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2))" (( "(") (binary_expression "((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)" (parenthesized_expression "((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')\n                )" (( "(") (binary_expression "(((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')" (parenthesized_expression "(((uint)ppppppuVar31[2] & 2) != 0)" (( "(") (binary_expression "((uint)ppppppuVar31[2] & 2) != 0" (parenthesized_expression "((uint)ppppppuVar31[2] & 2)" (( "(") (binary_expression "(uint)ppppppuVar31[2] & 2" (cast_expression "(uint)ppppppuVar31[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[2]" (identifier "ppppppuVar31") ([ "[") (number_literal "2") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)ppppppuVar31 + 0x9d) != '\0')" (( "(") (binary_expression "*(char *)((int)ppppppuVar31 + 0x9d) != '\0'" (pointer_expression "*(char *)((int)ppppppuVar31 + 0x9d)" (* "*") (cast_expression "(char *)((int)ppppppuVar31 + 0x9d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuVar31 + 0x9d)" (( "(") (binary_expression "(int)ppppppuVar31 + 0x9d" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "0x9d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((uint)pppppppuVar16[10] & 0xf) == 2)" (( "(") (binary_expression "((uint)pppppppuVar16[10] & 0xf) == 2" (parenthesized_expression "((uint)pppppppuVar16[10] & 0xf)" (( "(") (binary_expression "(uint)pppppppuVar16[10] & 0xf" (cast_expression "(uint)pppppppuVar16[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppppuVar16[10]" (identifier "pppppppuVar16") ([ "[") (number_literal "10") (] "]"))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }\n              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n            }" ({ "{") (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }\n              else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }\n              }" ({ "{") (if_statement "if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }\n                else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2b)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2b)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2b" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];\n                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;\n                  bVar42 = FUN_001e6ac0();\n                  bVar42 = bVar42 ^ 1;\n                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;\n                }" ({ "{") (expression_statement "*(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];" (assignment_expression "*(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3]" (pointer_expression "*(undefined4 *******)(puVar36 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar36 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar36 + -0x10)" (( "(") (binary_expression "puVar36 + -0x10" (identifier "puVar36") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "pppppppuVar16[3]" (identifier "pppppppuVar16") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;" (assignment_expression "*(undefined4 *)(puVar36 + -0x14) = 0x8bf3b" (pointer_expression "*(undefined4 *)(puVar36 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -0x14)" (( "(") (binary_expression "puVar36 + -0x14" (identifier "puVar36") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bf3b")) (; ";")) (expression_statement "bVar42 = FUN_001e6ac0();" (assignment_expression "bVar42 = FUN_001e6ac0()" (identifier "bVar42") (= "=") (call_expression "FUN_001e6ac0()" (identifier "FUN_001e6ac0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar42 = bVar42 ^ 1;" (assignment_expression "bVar42 = bVar42 ^ 1" (identifier "bVar42") (= "=") (binary_expression "bVar42 ^ 1" (identifier "bVar42") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)ppppppuVar11;" (assignment_expression "pppppppuVar10 = (undefined4 *******)ppppppuVar11" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)ppppppuVar11" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuVar11"))) (; ";")) (} "}")) (else_clause "else {\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" (else "else") (compound_statement "{\n                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;\n                }" ({ "{") (expression_statement "bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;" (assignment_expression "bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0" (identifier "bVar42") (= "=") (binary_expression "pppppppuVar16[3] != (undefined4 ******)0x0" (subscript_expression "pppppppuVar16[3]" (identifier "pppppppuVar16") ([ "[") (number_literal "3") (] "]")) (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" (else "else") (compound_statement "{\n                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;\n              }" ({ "{") (expression_statement "bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;" (assignment_expression "bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" (identifier "bVar42") (= "=") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x2a)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x2a" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4"))) (; ";")) (} "}")))) (if_statement "if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }\n              else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" (if "if") (parenthesized_expression "(((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0))" (( "(") (binary_expression "((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||\n                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)" (parenthesized_expression "((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0))" (( "(") (binary_expression "(bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)" (parenthesized_expression "(bVar42 == 0)" (( "(") (binary_expression "bVar42 == 0" (identifier "bVar42") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)" (( "(") (binary_expression "(*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0" (parenthesized_expression "(*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0)" (( "(") (binary_expression "*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0" (pointer_expression "*(byte *)((int)pppppppuVar16 + 0x29)" (* "*") (cast_expression "(byte *)((int)pppppppuVar16 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppuVar16 + 0x29)" (( "(") (binary_expression "(int)pppppppuVar16 + 0x29" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "0xe0")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((uint)pppppppuVar16[0xb] & 0x10) != 0)" (( "(") (binary_expression "((uint)pppppppuVar16[0xb] & 0x10) != 0" (parenthesized_expression "((uint)pppppppuVar16[0xb] & 0x10)" (( "(") (binary_expression "(uint)pppppppuVar16[0xb] & 0x10" (cast_expression "(uint)pppppppuVar16[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppppuVar16[0xb]" (identifier "pppppppuVar16") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" ({ "{") (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" (else "else") (compound_statement "{\n                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;\n                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;\n                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];\n              }" ({ "{") (expression_statement "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;" (assignment_expression "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_f4 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f4 + 0x1f)" (( "(") (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (+ "+") (number_literal "0x1f")) () ")")))) (= "=") (binary_expression "*(byte *)((int)local_f4 + 0x1f) | 0x80" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_f4 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f4 + 0x1f)" (( "(") (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (+ "+") (number_literal "0x1f")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;" (assignment_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1" (pointer_expression "*(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" (* "*") (cast_expression "(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_b4)[0xd] + 0x9f)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0xd] + 0x9f" (cast_expression "(int)((undefined4 *******)local_b4)[0xd]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xd") (] "]"))) (+ "+") (number_literal "0x9f")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xd]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0xd]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }\n            else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" (if "if") (parenthesized_expression "(((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16))))" (( "(") (binary_expression "((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||\n               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))" (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuVar31[0x2d]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppuVar31[0x2d]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x2d") (] "]"))) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))" (( "(") (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16))" (( "(") (binary_expression "(undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&\n                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)" (binary_expression "(undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16" (cast_expression "(undefined4 *******)ppppppuVar31[0x2c]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppuVar31[0x2c]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x2c") (] "]"))) (!= "!=") (identifier "pppppppuVar16")) (&& "&&") (parenthesized_expression "((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)" (( "(") (binary_expression "(undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16" (cast_expression "(undefined4 *******)ppppppuVar31[0x2d]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppuVar31[0x2d]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x2d") (] "]"))) (!= "!=") (identifier "pppppppuVar16")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n            }" ({ "{") (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" (else "else") (compound_statement "{\n              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;\n              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];\n              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;\n            }" ({ "{") (expression_statement "*(undefined1 *)(ppppppuVar31 + 0x28) = 1;" (assignment_expression "*(undefined1 *)(ppppppuVar31 + 0x28) = 1" (pointer_expression "*(undefined1 *)(ppppppuVar31 + 0x28)" (* "*") (cast_expression "(undefined1 *)(ppppppuVar31 + 0x28)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppuVar31 + 0x28)" (( "(") (binary_expression "ppppppuVar31 + 0x28" (identifier "ppppppuVar31") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (expression_statement "((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;" (assignment_expression "((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5" (subscript_expression "((undefined4 *******)local_b4)[0x25]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x25") (] "]")) (= "=") (binary_expression "ppppppuVar31 + -5" (identifier "ppppppuVar31") (+ "+") (number_literal "-5"))) (; ";")) (} "}")))) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;\n              FUN_00052750();\n            }" ({ "{") (labeled_statement "LAB_0008c376:\n                    \n              *(undefined4 *)(puVar36 + -4) = 0x8c37b;" (statement_identifier "LAB_0008c376") (: ":") (expression_statement "*(undefined4 *)(puVar36 + -4) = 0x8c37b;" (assignment_expression "*(undefined4 *)(puVar36 + -4) = 0x8c37b" (pointer_expression "*(undefined4 *)(puVar36 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar36 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8c37b")) (; ";"))) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" (identifier "FUN_00052750") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(pppppuVar26 + 0xac7) == '\0') {\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }\n            else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" (if "if") (parenthesized_expression "(*(char *)(pppppuVar26 + 0xac7) == '\0')" (( "(") (binary_expression "*(char *)(pppppuVar26 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0xac7)" (* "*") (cast_expression "(char *)(pppppuVar26 + 0xac7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppuVar26 + 0xac7)" (( "(") (binary_expression "pppppuVar26 + 0xac7" (identifier "pppppuVar26") (+ "+") (number_literal "0xac7")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              uVar20 = 0xffffffe0;\n              iVar19 = 0x20;\n            }" ({ "{") (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" (identifier "uVar20") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" (identifier "iVar19") (= "=") (number_literal "0x20")) (; ";")) (} "}")) (else_clause "else {\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" (else "else") (compound_statement "{\n              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);\n              uVar20 = -iVar19;\n            }" ({ "{") (expression_statement "iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f)" (identifier "iVar19") (= "=") (binary_expression "1 << ((byte)pppppuVar26[0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)pppppuVar26[0xac8] & 0x1f)" (( "(") (binary_expression "(byte)pppppuVar26[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar26[0xac8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pppppuVar26[0xac8]" (identifier "pppppuVar26") ([ "[") (number_literal "0xac8") (] "]"))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar20 = -iVar19;" (assignment_expression "uVar20 = -iVar19" (identifier "uVar20") (= "=") (unary_expression "-iVar19" (- "-") (identifier "iVar19"))) (; ";")) (} "}")))) (expression_statement "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);" (assignment_expression "((undefined4 *******)local_b4)[0x1d] =\n                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" (subscript_expression "((undefined4 *******)local_b4)[0x1d]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1d") (] "]")) (= "=") (cast_expression "(undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20)" (( "(") (binary_expression "(uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20" (call_expression "(uint)((int)ppppppuVar31 + iVar19 + -1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppuVar31 + iVar19 + -1)" (( "(") (binary_expression "(int)ppppppuVar31 + iVar19 + -1" (binary_expression "(int)ppppppuVar31 + iVar19" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (identifier "iVar19")) (+ "+") (number_literal "-1")) () ")"))) (& "&") (identifier "uVar20")) () ")")))) (; ";")) (expression_statement "unaff_EBX = pppppppuVar10;" (assignment_expression "unaff_EBX = pppppppuVar10" (identifier "unaff_EBX") (= "=") (identifier "pppppppuVar10")) (; ";")) (} "}"))) (if_statement "if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }" (if "if") (parenthesized_expression "((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f)))" (( "(") (binary_expression "(-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))" (parenthesized_expression "(-1 < (char)local_e4)" (( "(") (binary_expression "-1 < (char)local_e4" (number_literal "-1") (< "<") (cast_expression "(char)local_e4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_e4"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < *(char *)((int)local_f4 + 0x1f))" (( "(") (binary_expression "-1 < *(char *)((int)local_f4 + 0x1f)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)local_f4 + 0x1f)" (* "*") (cast_expression "(char *)((int)local_f4 + 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f4 + 0x1f)" (( "(") (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (+ "+") (number_literal "0x1f")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;\n          }" ({ "{") (expression_statement "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;" (assignment_expression "*(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_f4 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f4 + 0x1f)" (( "(") (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (+ "+") (number_literal "0x1f")) () ")")))) (= "=") (binary_expression "*(byte *)((int)local_f4 + 0x1f) | 0x40" (pointer_expression "*(byte *)((int)local_f4 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_f4 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f4 + 0x1f)" (( "(") (binary_expression "(int)local_f4 + 0x1f" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (+ "+") (number_literal "0x1f")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (} "}"))) (if_statement "if (uVar39 - 0xb < 3) {\n            local_e4 = (undefined4 *******)0x8000;\n          }\n          else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" (if "if") (parenthesized_expression "(uVar39 - 0xb < 3)" (( "(") (binary_expression "uVar39 - 0xb < 3" (binary_expression "uVar39 - 0xb" (identifier "uVar39") (- "-") (number_literal "0xb")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n            local_e4 = (undefined4 *******)0x8000;\n          }" ({ "{") (expression_statement "local_e4 = (undefined4 *******)0x8000;" (assignment_expression "local_e4 = (undefined4 *******)0x8000" (identifier "local_e4") (= "=") (cast_expression "(undefined4 *******)0x8000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x8000"))) (; ";")) (} "}")) (else_clause "else {\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" (else "else") (compound_statement "{\n            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;\n            local_e4 = (undefined4 *******)0x2000000;\n          }" ({ "{") (if_statement "if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;" (if "if") (parenthesized_expression "(((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17))" (( "(") (binary_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)" (parenthesized_expression "((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0)" (( "(") (binary_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0" (parenthesized_expression "(uVar39 + 0x7ffffff6 & 0x7ffffff7)" (( "(") (binary_expression "uVar39 + 0x7ffffff6 & 0x7ffffff7" (binary_expression "uVar39 + 0x7ffffff6" (identifier "uVar39") (+ "+") (number_literal "0x7ffffff6")) (& "&") (number_literal "0x7ffffff7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar39 != 0x17)" (( "(") (binary_expression "uVar39 != 0x17" (identifier "uVar39") (!= "!=") (number_literal "0x17")) () ")"))) () ")")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";"))) (expression_statement "local_e4 = (undefined4 *******)0x2000000;" (assignment_expression "local_e4 = (undefined4 *******)0x2000000" (identifier "local_e4") (= "=") (cast_expression "(undefined4 *******)0x2000000" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x2000000"))) (; ";")) (} "}")))) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" (identifier "local_e0") (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)\n          goto LAB_0008c2e9;" (if "if") (parenthesized_expression "(((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)" (( "(") (binary_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff" (parenthesized_expression "((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc)" (( "(") (binary_expression "(uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc" (cast_expression "(uint)local_cc._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_"))) (& "&") (cast_expression "(uint)(undefined4 *******)local_cc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0008c2e9;" (goto "goto") (statement_identifier "LAB_0008c2e9") (; ";"))) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;" (if "if") (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" (( "(") (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c192;" (goto "goto") (statement_identifier "LAB_0008c192") (; ";"))) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (identifier "uVar39") (= "=") (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" (( "(") (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")"))) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xac8") (] "]")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar39 < 0x20) {\n            uVar39 = 0x20;\n          }" (if "if") (parenthesized_expression "(uVar39 < 0x20)" (( "(") (binary_expression "uVar39 < 0x20" (identifier "uVar39") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n            uVar39 = 0x20;\n          }" ({ "{") (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" (identifier "uVar39") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (if_statement "if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }" (if "if") (parenthesized_expression "(((uint)((undefined4 *******)local_b4)[7] & 1) == 0)" (( "(") (binary_expression "((uint)((undefined4 *******)local_b4)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined4 *******)local_b4)[7] & 1)" (( "(") (binary_expression "(uint)((undefined4 *******)local_b4)[7] & 1" (subscript_expression "(uint)((undefined4 *******)local_b4)[7]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "7") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;\n            local_e0 = (undefined4 ****)0x0;\n                    \n            *(undefined **)(puVar36 + -4) = &UNK_0008a102;\n            FUN_00052f10();\n          }" ({ "{") (labeled_statement "LAB_0008a0fd:\n            local_dc._4_4_ = (undefined4 ******)0x0;" (statement_identifier "LAB_0008a0fd") (: ":") (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_e0 = (undefined4 ****)0x0;" (assignment_expression "local_e0 = (undefined4 ****)0x0" (identifier "local_e0") (= "=") (cast_expression "(undefined4 ****)0x0" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined **)(puVar36 + -4) = &UNK_0008a102;" (assignment_expression "*(undefined **)(puVar36 + -4) = &UNK_0008a102" (pointer_expression "*(undefined **)(puVar36 + -4)" (* "*") (cast_expression "(undefined **)(puVar36 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + -4)" (( "(") (binary_expression "puVar36 + -4" (identifier "puVar36") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_0008a102" (& "&") (identifier "UNK_0008a102"))) (; ";")) (expression_statement "FUN_00052f10();" (call_expression "FUN_00052f10()" (identifier "FUN_00052f10") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" (identifier "puVar23") (= "=") (cast_expression "(undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1])" (( "(") (binary_expression "(uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]" (parenthesized_expression "(uVar39 - 1)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")")) (+ "+") (cast_expression "(int)((undefined4 *******)local_b4)[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "1") (] "]")))) () ")")))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1));" (assignment_expression "unaff_EBX = (undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)\n                      ((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1))" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +\n                      ((uVar39 != 0) - 1)" (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (cast_expression "(int)((undefined4 *******)local_b4)[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (identifier "CARRY4") (argument_list "(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1])" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) (, ",") (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "1") (] "]")) () ")"))))) (+ "+") (parenthesized_expression "((uVar39 != 0) - 1)" (( "(") (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) () ")"))) () ")")))) (; ";")) (expression_statement "local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "local_104 = (undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" (identifier "local_104") (= "=") (cast_expression "(undefined4 *)\n                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39)" (( "(") (binary_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23)" (( "(") (binary_expression "(int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23" (cast_expression "(int)((undefined4 *******)local_b4)[0x1c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[0x1c]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23"))) () ")"))) (& "&") (unary_expression "-uVar39" (- "-") (identifier "uVar39"))) () ")")))) (; ";")) (expression_statement "local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0);" (assignment_expression "local_100 = (int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0)" (identifier "local_100") (= "=") (binary_expression "(int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &\n                      -(uint)(uVar39 != 0)" (binary_expression "(int)unaff_EBX +\n                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (cast_expression "(int)unaff_EBX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBX")) (+ "+") (cast_expression "(uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (identifier "CARRY4") (argument_list "((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23)" (( "(") (subscript_expression "(uint)((undefined4 *******)local_b4)[0x1c]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "0x1c") (] "]")) (, ",") (cast_expression "(uint)puVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar23")) () ")"))))) (& "&") (unary_expression "-(uint)(uVar39 != 0)" (- "-") (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);" (assignment_expression "pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104)" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_dc + (int)local_104)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + (int)local_104" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (cast_expression "(int)local_104" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_104"))) () ")")))) (; ";")) (expression_statement "iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);" (assignment_expression "iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" (identifier "iVar19") (= "=") (binary_expression "local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" (identifier "local_100") (+ "+") (call_expression "CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104)" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_dc,(uint)local_104)" (( "(") (cast_expression "(uint)(undefined4 *******)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (, ",") (cast_expression "(uint)local_104" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_104")) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_dc._4_4_ = (undefined4 ******)0x0;" (assignment_expression "local_dc._4_4_ = (undefined4 ******)0x0" (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e0 = (undefined4 *****)0x0;" (assignment_expression "local_e0 = (undefined4 *****)0x0" (identifier "local_e0") (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;" (if "if") (parenthesized_expression "(((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2)))" (( "(") (binary_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <\n            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" (binary_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))\n            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" (parenthesized_expression "((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))" (( "(") (binary_expression "(iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc)" (parenthesized_expression "(iVar19 - (int)local_cc._4_4_)" (( "(") (binary_expression "iVar19 - (int)local_cc._4_4_" (identifier "iVar19") (- "-") (cast_expression "(int)local_cc._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")))) () ")")) (- "-") (call_expression "(uint)(pppppppuVar10 < (undefined4 *******)local_cc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppppuVar10 < (undefined4 *******)local_cc)" (( "(") (binary_expression "pppppppuVar10 < (undefined4 *******)local_cc" (identifier "pppppppuVar10") (< "<") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) () ")")))) () ")")) (+ "+") (cast_expression "(uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" (identifier "CARRY4") (argument_list "((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4)" (( "(") (binary_expression "(int)pppppppuVar10 - (int)(undefined4 *******)local_cc" (cast_expression "(int)pppppppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar10")) (- "-") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) (, ",") (cast_expression "(uint)local_e4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e4")) () ")"))))) (< "<") (call_expression "(uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2))" (( "(") (binary_expression "(uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))\n                  < (uint)((int)local_e4 * 2)" (call_expression "(uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))" (( "(") (binary_expression "(int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc)" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (+ "+") (parenthesized_expression "((int)pppppppuVar10 - (int)(undefined4 *******)local_cc)" (( "(") (binary_expression "(int)pppppppuVar10 - (int)(undefined4 *******)local_cc" (cast_expression "(int)pppppppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar10")) (- "-") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) () ")"))) () ")"))) (< "<") (call_expression "(uint)((int)local_e4 * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_e4 * 2)" (( "(") (binary_expression "(int)local_e4 * 2" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (* "*") (number_literal "2")) () ")")))) () ")")))) () ")")) (goto_statement "goto LAB_00089370;" (goto "goto") (statement_identifier "LAB_00089370") (; ";"))) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_c4;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_c4" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_c4" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")))) (; ";")) (labeled_statement "LAB_0008a1d8:\n        pppppppuVar10 = (undefined4 *******)local_b4;" (statement_identifier "LAB_0008a1d8") (: ":") (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";"))) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" (identifier "puVar36") (= "=") (identifier "puVar35")) (; ";")) (if_statement "if (((uint)ppppppuVar31[5] & 0x40) != 0) {\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }" (if "if") (parenthesized_expression "(((uint)ppppppuVar31[5] & 0x40) != 0)" (( "(") (binary_expression "((uint)ppppppuVar31[5] & 0x40) != 0" (parenthesized_expression "((uint)ppppppuVar31[5] & 0x40)" (( "(") (binary_expression "(uint)ppppppuVar31[5] & 0x40" (cast_expression "(uint)ppppppuVar31[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[5]" (identifier "ppppppuVar31") ([ "[") (number_literal "5") (] "]"))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pppppuVar26 = *ppppppuVar31;\n          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];\n          pppppuVar14 = *ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];\n          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n          *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n          ppppuVar17 = pppppuVar14[0x10];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;\n          (*(code *)ppppuVar17)();\n          ppppppuVar11 = local_40;\n          pppppuVar14 = pppppppuVar10[0xb][1];\n          local_b4._0_4_ = (undefined4 *******)local_a8[2];\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          local_bc = (undefined4 ******)local_a8[1];\n          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];\n          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n          ppppppuVar31 = (undefined4 ******)*local_a8;\n          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;\n          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];\n          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;\n          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;\n                    \n          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;\n          FUN_000d1270();\n          if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }\n          ppppppuVar31 = local_ac;\n          puVar36 = puVar35 + -8;\n          if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }\n        }" ({ "{") (expression_statement "pppppuVar26 = *ppppppuVar31;" (assignment_expression "pppppuVar26 = *ppppppuVar31" (identifier "pppppuVar26") (= "=") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31"))) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_b4)[0xb]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_b4)[0xb]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "pppppuVar14 = *ppppppuVar31;" (assignment_expression "pppppuVar14 = *ppppppuVar31" (identifier "pppppuVar14") (= "=") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "((undefined4 *******)local_b4)[0xc]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "ppppuVar17 = pppppuVar14[0x10];" (assignment_expression "ppppuVar17 = pppppuVar14[0x10]" (identifier "ppppuVar17") (= "=") (subscript_expression "pppppuVar14[0x10]" (identifier "pppppuVar14") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a1ff" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8a1ff")) (; ";")) (expression_statement "(*(code *)ppppuVar17)();" (call_expression "(*(code *)ppppuVar17)()" (parenthesized_expression "(*(code *)ppppuVar17)" (( "(") (pointer_expression "*(code *)ppppuVar17" (* "*") (cast_expression "(code *)ppppuVar17" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppuVar17"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppuVar11 = local_40;" (assignment_expression "ppppppuVar11 = local_40" (identifier "ppppppuVar11") (= "=") (identifier "local_40")) (; ";")) (expression_statement "pppppuVar14 = pppppppuVar10[0xb][1];" (assignment_expression "pppppuVar14 = pppppppuVar10[0xb][1]" (identifier "pppppuVar14") (= "=") (subscript_expression "pppppppuVar10[0xb][1]" (subscript_expression "pppppppuVar10[0xb]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb") (] "]")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[2];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[2]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_a8[2]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "local_bc = (undefined4 ******)local_a8[1];" (assignment_expression "local_bc = (undefined4 ******)local_a8[1]" (identifier "local_bc") (= "=") (cast_expression "(undefined4 ******)local_a8[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(*ppppppuVar31)[0x10]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "(*ppppppuVar31)[0x10]" (parenthesized_expression "(*ppppppuVar31)" (( "(") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) () ")")) ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }\n          else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" (if "if") (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4))" (( "(") (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)" (identifier "pppppppuVar10") (== "==") (cast_expression "(undefined4 *******)(local_ac + -0xd8af4)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xd8af4)" (( "(") (binary_expression "local_ac + -0xd8af4" (identifier "local_ac") (+ "+") (number_literal "-0xd8af4")) () ")")))) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;\n            FUN_000b1290();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + 0x24" (identifier "ppppppuVar31") (+ "+") (number_literal "0x24"))) (; ";")) (expression_statement "*(undefined8 **)(puVar35 + -0x14) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar35 + -0x14) = &local_5c" (pointer_expression "*(undefined8 **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined8 **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0x8a258;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0x8a258" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8a258")) (; ";")) (expression_statement "FUN_000b1290();" (call_expression "FUN_000b1290()" (identifier "FUN_000b1290") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" (else "else") (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0xc) = local_bc;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n            *(undefined8 **)(puVar35 + -0x14) = &local_5c;\n                    \n            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;\n            (*(code *)pppppppuVar10)();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined8 **)(puVar35 + -0x14) = &local_5c;" (assignment_expression "*(undefined8 **)(puVar35 + -0x14) = &local_5c" (pointer_expression "*(undefined8 **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined8 **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0x8af32;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0x8af32" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8af32")) (; ";")) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar11")) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x14) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "pppppuVar14")) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_5c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_5c"))) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (subscript_expression "ppppppuVar31[1]" (identifier "ppppppuVar31") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228" (pointer_expression "*(undefined4 *******)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (binary_expression "local_ac + -0x47228" (identifier "local_ac") (+ "+") (number_literal "-0x47228"))) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x28) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x28)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x28)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x28)" (( "(") (binary_expression "puVar35 + -0x28" (identifier "puVar35") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "pppppuVar26")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x2c) = 0x8a289;" (assignment_expression "*(undefined4 *)(puVar35 + -0x2c) = 0x8a289" (pointer_expression "*(undefined4 *)(puVar35 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x2c)" (( "(") (binary_expression "puVar35 + -0x2c" (identifier "puVar35") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (number_literal "0x8a289")) (; ";")) (expression_statement "FUN_000d1270();" (call_expression "FUN_000d1270()" (identifier "FUN_000d1270") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((undefined4 *******)local_5c != &local_54) {\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }" (if "if") (parenthesized_expression "((undefined4 *******)local_5c != &local_54)" (( "(") (binary_expression "(undefined4 *******)local_5c != &local_54" (cast_expression "(undefined4 *******)local_5c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_5c")) (!= "!=") (pointer_expression "&local_54" (& "&") (identifier "local_54"))) () ")")) (compound_statement "{\n            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;\n            FUN_00248220();\n          }" ({ "{") (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_5c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_5c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x8a29f" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x8a29f")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "puVar36 = puVar35 + -8;" (assignment_expression "puVar36 = puVar35 + -8" (identifier "puVar36") (= "=") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8"))) (; ";")) (if_statement "if ((undefined4 *******)local_40 != &local_38) {\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }" (if "if") (parenthesized_expression "((undefined4 *******)local_40 != &local_38)" (( "(") (binary_expression "(undefined4 *******)local_40 != &local_38" (cast_expression "(undefined4 *******)local_40" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_40")) (!= "!=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0x18) = local_40;\n            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;\n            FUN_00248220();\n            unaff_EBX = (undefined4 *******)ppppppuVar31;\n            puVar36 = puVar35 + -8;\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -0x18) = local_40;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x18) = local_40" (pointer_expression "*(undefined4 *******)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x8a2bb")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)ppppppuVar31" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuVar31"))) (; ";")) (expression_statement "puVar36 = puVar35 + -8;" (assignment_expression "puVar36 = puVar35 + -8" (identifier "puVar36") (= "=") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8"))) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0008a2be:\n        puVar35 = puVar36;" (statement_identifier "LAB_0008a2be") (: ":") (expression_statement "puVar35 = puVar36;" (assignment_expression "puVar35 = puVar36" (identifier "puVar35") (= "=") (identifier "puVar36")) (; ";"))) (if_statement "if (*(char *)(param_1 + 0xa1) == '\0') {\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xa1) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xa1) == '\0'" (pointer_expression "*(char *)(param_1 + 0xa1)" (* "*") (cast_expression "(char *)(param_1 + 0xa1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa1)" (( "(") (binary_expression "param_1 + 0xa1" (identifier "param_1") (+ "+") (number_literal "0xa1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(undefined1 *)(param_1 + 0xa1) = 1;\n          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);\n          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;\n          if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }\n        }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0xa1) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xa1) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xa1)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xa1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa1)" (( "(") (binary_expression "param_1 + 0xa1" (identifier "param_1") (+ "+") (number_literal "0xa1")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);" (assignment_expression "local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4)" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "*(undefined4 ********)(param_1 + 0xa4)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0xa4)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;" (assignment_expression "*(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1" (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")")))) (= "=") (binary_expression "(int)(undefined4 *******)local_b4 + 1" (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((int)(undefined4 *******)local_b4 + 1 < 3) {\n            return 1;\n          }" (if "if") (parenthesized_expression "((int)(undefined4 *******)local_b4 + 1 < 3)" (( "(") (binary_expression "(int)(undefined4 *******)local_b4 + 1 < 3" (binary_expression "(int)(undefined4 *******)local_b4 + 1" (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (+ "+") (number_literal "1")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n            return 1;\n          }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_00089370:\n      local_a8 = local_a8 + 8;" (statement_identifier "LAB_00089370") (: ":") (expression_statement "local_a8 = local_a8 + 8;" (assignment_expression "local_a8 = local_a8 + 8" (identifier "local_a8") (= "=") (binary_expression "local_a8 + 8" (identifier "local_a8") (+ "+") (number_literal "8"))) (; ";"))) (expression_statement "puVar36 = puVar35;" (assignment_expression "puVar36 = puVar35" (identifier "puVar36") (= "=") (identifier "puVar35")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8)" (( "(") (binary_expression "*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8" (pointer_expression "*(undefined4 ********)(param_1 + 0x78)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x78)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))) (!= "!=") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_f4 = *(undefined4 *******)(param_1 + 100);" (assignment_expression "local_f4 = *(undefined4 *******)(param_1 + 100)" (identifier "local_f4") (= "=") (pointer_expression "*(undefined4 *******)(param_1 + 100)" (* "*") (cast_expression "(undefined4 *******)(param_1 + 100)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")"))))) (; ";")) (expression_statement "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);" (assignment_expression "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120)" (identifier "local_fc") (= "=") (cast_expression "(undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "CONCAT31(local_fc._1_3_,local_f4 != local_120)" (identifier "CONCAT31") (argument_list "(local_fc._1_3_,local_f4 != local_120)" (( "(") (field_expression "local_fc._1_3_" (identifier "local_fc") (. ".") (field_identifier "_1_3_")) (, ",") (binary_expression "local_f4 != local_120" (identifier "local_f4") (!= "!=") (identifier "local_120")) () ")"))))) (; ";")) (if_statement "if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }" (if "if") (parenthesized_expression "((undefined4 *******)local_f4 != (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_f4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_f4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_f4")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;\n    FUN_0005c350();\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8b9ca;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8b9ca" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8b9ca")) (; ";")) (expression_statement "FUN_0005c350();" (call_expression "FUN_0005c350()" (identifier "FUN_0005c350") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (local_f4 != local_120) {\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }" (if "if") (parenthesized_expression "(local_f4 != local_120)" (( "(") (binary_expression "local_f4 != local_120" (identifier "local_f4") (!= "!=") (identifier "local_120")) () ")")) (compound_statement "{\n    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);\n    bVar42 = *(byte *)(unaff_EBX + 7);\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n    puVar37 = puVar35;\n    if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }\n    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n    unaff_EBX[4] = (undefined4 ******)0x0;\n    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;\n    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;\n    ppppppuVar31 = unaff_EBX[0xb];\n    if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }\n  }" ({ "{") (expression_statement "unaff_EBX = *(undefined4 ********)(param_1 + 0x24);" (assignment_expression "unaff_EBX = *(undefined4 ********)(param_1 + 0x24)" (identifier "unaff_EBX") (= "=") (pointer_expression "*(undefined4 ********)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 ********)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "bVar42 = *(byte *)(unaff_EBX + 7);" (assignment_expression "bVar42 = *(byte *)(unaff_EBX + 7)" (identifier "bVar42") (= "=") (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xfa" (identifier "bVar42") (& "&") (number_literal "0xfa"))) (; ";")) (expression_statement "puVar37 = puVar35;" (assignment_expression "puVar37 = puVar35" (identifier "puVar37") (= "=") (identifier "puVar35")) (; ";")) (if_statement "if ((bVar42 & 8) != 0) {\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }" (if "if") (parenthesized_expression "((bVar42 & 8) != 0)" (( "(") (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" (( "(") (binary_expression "bVar42 & 8" (identifier "bVar42") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }\n      goto LAB_0008b9d8;\n    }" ({ "{") (if_statement "if ((bVar42 & 2) == 0) {\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }" (if "if") (parenthesized_expression "((bVar42 & 2) == 0)" (( "(") (binary_expression "(bVar42 & 2) == 0" (parenthesized_expression "(bVar42 & 2)" (( "(") (binary_expression "bVar42 & 2" (identifier "bVar42") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);\n        unaff_EBX[4] = (undefined4 ******)0x0;\n        *(undefined4 *)(puVar35 + -4) = 0;\n        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n        *(undefined4 *)(puVar35 + -0xc) = 0x218;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;\n        FUN_000da200();\n      }" ({ "{") (expression_statement "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);" (assignment_expression "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4)" (subscript_expression "unaff_EBX[3]" (identifier "unaff_EBX") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)local_f4 << 4)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_f4 << 4)" (( "(") (binary_expression "(int)local_f4 << 4" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (<< "<<") (number_literal "4")) () ")")))) (; ";")) (expression_statement "unaff_EBX[4] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[4] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[4]" (identifier "unaff_EBX") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47840" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47840"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x218;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x218" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x218")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c35a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c35a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c35a")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0008b9d8;" (goto "goto") (statement_identifier "LAB_0008b9d8") (; ";")) (} "}"))) (expression_statement "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);" (assignment_expression "unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4)" (subscript_expression "unaff_EBX[3]" (identifier "unaff_EBX") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)local_f4 << 4)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_f4 << 4)" (( "(") (binary_expression "(int)local_f4 << 4" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (<< "<<") (number_literal "4")) () ")")))) (; ";")) (expression_statement "unaff_EBX[4] = (undefined4 ******)0x0;" (assignment_expression "unaff_EBX[4] = (undefined4 ******)0x0" (subscript_expression "unaff_EBX[4]" (identifier "unaff_EBX") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2" (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xfa | 2" (binary_expression "bVar42 & 0xfa" (identifier "bVar42") (& "&") (number_literal "0xfa")) (| "|") (number_literal "2"))) (; ";")) (expression_statement "*(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;" (assignment_expression "*(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[8] + 0x92)" (* "*") (cast_expression "(byte *)((int)unaff_EBX[8] + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX[8] + 0x92)" (( "(") (binary_expression "(int)unaff_EBX[8] + 0x92" (cast_expression "(int)unaff_EBX[8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_EBX[8]" (identifier "unaff_EBX") ([ "[") (number_literal "8") (] "]"))) (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "*(byte *)((int)unaff_EBX[8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[8] + 0x92)" (* "*") (cast_expression "(byte *)((int)unaff_EBX[8] + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX[8] + 0x92)" (( "(") (binary_expression "(int)unaff_EBX[8] + 0x92" (cast_expression "(int)unaff_EBX[8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_EBX[8]" (identifier "unaff_EBX") ([ "[") (number_literal "8") (] "]"))) (+ "+") (number_literal "0x92")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (expression_statement "ppppppuVar31 = unaff_EBX[0xb];" (assignment_expression "ppppppuVar31 = unaff_EBX[0xb]" (identifier "ppppppuVar31") (= "=") (subscript_expression "unaff_EBX[0xb]" (identifier "unaff_EBX") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }" (if "if") (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" (( "(") (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" (identifier "ppppppuVar31") (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      bVar42 = *(byte *)(ppppppuVar31 + 7);\n      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;\n      local_a8 = (undefined4 ******)*ppppppuVar31;\n      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];\n      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);\n      if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }\n      ppppppuVar11 = local_a8;\n      ppppppuVar31[3] = (undefined4 *******)local_b4;\n      ppppppuVar31[4] = local_b4._4_4_;\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n      *(undefined4 *)(puVar35 + -0x14) = 0x89480;\n      (*(code *)ppppppuVar11)();\n      if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }\n      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;\n    }" ({ "{") (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar42 = *(byte *)(ppppppuVar31 + 7);" (assignment_expression "bVar42 = *(byte *)(ppppppuVar31 + 7)" (identifier "bVar42") (= "=") (pointer_expression "*(byte *)(ppppppuVar31 + 7)" (* "*") (cast_expression "(byte *)(ppppppuVar31 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppuVar31 + 7)" (( "(") (binary_expression "ppppppuVar31 + 7" (identifier "ppppppuVar31") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(ppppppuVar31 + 7)" (* "*") (cast_expression "(byte *)(ppppppuVar31 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppuVar31 + 7)" (( "(") (binary_expression "ppppppuVar31 + 7" (identifier "ppppppuVar31") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xfa" (identifier "bVar42") (& "&") (number_literal "0xfa"))) (; ";")) (expression_statement "local_a8 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "local_a8 = (undefined4 ******)*ppppppuVar31" (identifier "local_a8") (= "=") (cast_expression "(undefined4 ******)*ppppppuVar31" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];" (assignment_expression "pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)((undefined4 *******)local_a8)[0xf]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "((undefined4 *******)local_a8)[0xf]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18)" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)((int)local_f4 * 0x18)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_f4 * 0x18)" (( "(") (binary_expression "(int)local_f4 * 0x18" (cast_expression "(int)local_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f4")) (* "*") (number_literal "0x18")) () ")")))) (; ";")) (if_statement "if ((bVar42 & 8) == 0) {\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }\n      else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" (if "if") (parenthesized_expression "((bVar42 & 8) == 0)" (( "(") (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" (( "(") (binary_expression "bVar42 & 8" (identifier "bVar42") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;\n      }" ({ "{") (expression_statement "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(ppppppuVar31 + 7)" (* "*") (cast_expression "(byte *)(ppppppuVar31 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppuVar31 + 7)" (( "(") (binary_expression "ppppppuVar31 + 7" (identifier "ppppppuVar31") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xf8" (identifier "bVar42") (& "&") (number_literal "0xf8"))) (; ";")) (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;" (if "if") (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20))" (( "(") (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)" (identifier "pppppppuVar10") (!= "!=") (cast_expression "(undefined4 *******)(local_ac + -0xdbf20)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xdbf20)" (( "(") (binary_expression "local_ac + -0xdbf20" (identifier "local_ac") (+ "+") (number_literal "-0xdbf20")) () ")")))) () ")")) (goto_statement "goto LAB_0008bb14;" (goto "goto") (statement_identifier "LAB_0008bb14") (; ";"))) (} "}")) (else_clause "else {\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" (else "else") (compound_statement "{\n        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }\n        if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }\n        local_a8 = (undefined4 ******)*ppppppuVar31;\n      }" ({ "{") (if_statement "if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }" (if "if") (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20))" (( "(") (binary_expression "pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)" (identifier "pppppppuVar10") (!= "!=") (cast_expression "(undefined4 *******)(local_ac + -0xdbf20)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xdbf20)" (( "(") (binary_expression "local_ac + -0xdbf20" (identifier "local_ac") (+ "+") (number_literal "-0xdbf20")) () ")")))) () ")")) (compound_statement "{\nLAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;\n          (*(code *)pppppppuVar10)();\n          ppppppuVar31 = unaff_EBX[0xb];\n        }" ({ "{") (labeled_statement "LAB_0008bb14:\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (statement_identifier "LAB_0008bb14") (: ":") (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";"))) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8bb1a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bb1a")) (; ";")) (expression_statement "(*(code *)pppppppuVar10)();" (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppuVar31 = unaff_EBX[0xb];" (assignment_expression "ppppppuVar31 = unaff_EBX[0xb]" (identifier "ppppppuVar31") (= "=") (subscript_expression "unaff_EBX[0xb]" (identifier "unaff_EBX") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (} "}"))) (if_statement "if (((uint)ppppppuVar31[7] & 2) != 0) {\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(((uint)ppppppuVar31[7] & 2) != 0)" (( "(") (binary_expression "((uint)ppppppuVar31[7] & 2) != 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 2)" (( "(") (binary_expression "(uint)ppppppuVar31[7] & 2" (cast_expression "(uint)ppppppuVar31[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[7]" (identifier "ppppppuVar31") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0008b9d8:\n          ppppppuVar31 = local_ac;\n          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;\n          *(undefined4 *)(puVar37 + -0xc) = 0x231;\n          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;\n          FUN_000da200();\n        }" ({ "{") (labeled_statement "LAB_0008b9d8:\n          ppppppuVar31 = local_ac;" (statement_identifier "LAB_0008b9d8") (: ":") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "*(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868" (pointer_expression "*(undefined4 *******)(puVar37 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar37 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar37 + -8)" (( "(") (binary_expression "puVar37 + -8" (identifier "puVar37") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47868" (identifier "local_ac") (+ "+") (number_literal "-0x47868"))) (; ";")) (expression_statement "*(undefined4 *)(puVar37 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar37 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar37 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar37 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + -0xc)" (( "(") (binary_expression "puVar37 + -0xc" (identifier "puVar37") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x231")) (; ";")) (expression_statement "*(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar37 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar37 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar37 + -0x10)" (( "(") (binary_expression "puVar37 + -0x10" (identifier "puVar37") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;" (assignment_expression "*(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9" (pointer_expression "*(undefined **)(puVar37 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar37 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar37 + -0x14)" (( "(") (binary_expression "puVar37 + -0x14" (identifier "puVar37") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008b9f9" (& "&") (identifier "UNK_0008b9f9"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_a8 = (undefined4 ******)*ppppppuVar31;" (assignment_expression "local_a8 = (undefined4 ******)*ppppppuVar31" (identifier "local_a8") (= "=") (cast_expression "(undefined4 ******)*ppppppuVar31" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")))) (; ";")) (} "}")))) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" (identifier "ppppppuVar11") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "ppppppuVar31[3] = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31[3] = (undefined4 *******)local_b4" (subscript_expression "ppppppuVar31[3]" (identifier "ppppppuVar31") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "ppppppuVar31[4] = local_b4._4_4_;" (assignment_expression "ppppppuVar31[4] = local_b4._4_4_" (subscript_expression "ppppppuVar31[4]" (identifier "ppppppuVar31") ([ "[") (number_literal "4") (] "]")) (= "=") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];" (assignment_expression "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)ppppppuVar11[0xe]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppuVar11[0xe]" (identifier "ppppppuVar11") ([ "[") (number_literal "0xe") (] "]")))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x89480;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x89480" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x89480")) (; ";")) (expression_statement "(*(code *)ppppppuVar11)();" (call_expression "(*(code *)ppppppuVar11)()" (parenthesized_expression "(*(code *)ppppppuVar11)" (( "(") (pointer_expression "*(code *)ppppppuVar11" (* "*") (cast_expression "(code *)ppppppuVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppuVar11"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (((uint)ppppppuVar31[7] & 2) == 0) {\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }" (if "if") (parenthesized_expression "(((uint)ppppppuVar31[7] & 2) == 0)" (( "(") (binary_expression "((uint)ppppppuVar31[7] & 2) == 0" (parenthesized_expression "((uint)ppppppuVar31[7] & 2)" (( "(") (binary_expression "(uint)ppppppuVar31[7] & 2" (cast_expression "(uint)ppppppuVar31[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar31[7]" (identifier "ppppppuVar31") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0008c197:\n        ppppppuVar31 = local_ac;\n        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n        *(undefined4 *)(puVar35 + -0xc) = 0x163;\n        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;\n        FUN_000da200();\n      }" ({ "{") (labeled_statement "LAB_0008c197:\n        ppppppuVar31 = local_ac;" (statement_identifier "LAB_0008c197") (: ":") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x478e2" (identifier "local_ac") (+ "+") (number_literal "-0x478e2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x163")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c1b8" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c1b8")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;" (assignment_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92)" (* "*") (cast_expression "(byte *)((int)unaff_EBX[0xb][8] + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX[0xb][8] + 0x92)" (( "(") (binary_expression "(int)unaff_EBX[0xb][8] + 0x92" (cast_expression "(int)unaff_EBX[0xb][8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_EBX[0xb][8]" (subscript_expression "unaff_EBX[0xb]" (identifier "unaff_EBX") ([ "[") (number_literal "0xb") (] "]")) ([ "[") (number_literal "8") (] "]"))) (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4" (pointer_expression "*(byte *)((int)unaff_EBX[0xb][8] + 0x92)" (* "*") (cast_expression "(byte *)((int)unaff_EBX[0xb][8] + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_EBX[0xb][8] + 0x92)" (( "(") (binary_expression "(int)unaff_EBX[0xb][8] + 0x92" (cast_expression "(int)unaff_EBX[0xb][8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_EBX[0xb][8]" (subscript_expression "unaff_EBX[0xb]" (identifier "unaff_EBX") ([ "[") (number_literal "0xb") (] "]")) ([ "[") (number_literal "8") (] "]"))) (+ "+") (number_literal "0x92")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar13 = *(int **)(param_1 + 0x50);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x50)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(param_1 + 0x50)" (* "*") (cast_expression "(int **)(param_1 + 0x50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);" (assignment_expression "pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9)" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(local_ac + -0x474c9)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0x474c9)" (( "(") (binary_expression "local_ac + -0x474c9" (identifier "local_ac") (+ "+") (number_literal "-0x474c9")) () ")")))) (; ";")) (if_statement "if (piVar13 != *(int **)(param_1 + 0x4c)) {\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(piVar13 != *(int **)(param_1 + 0x4c))" (( "(") (binary_expression "piVar13 != *(int **)(param_1 + 0x4c)" (identifier "piVar13") (!= "!=") (pointer_expression "*(int **)(param_1 + 0x4c)" (* "*") (cast_expression "(int **)(param_1 + 0x4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );\n  }" ({ "{") (do_statement "do {\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    } while( true );" (do "do") (compound_statement "{\n      local_b4._0_4_ = pppppppuVar10;\n      ppppppuVar31 = local_ac;\n      pppppppuVar10 = (undefined4 *******)piVar13[-1];\n      local_a8 = pppppppuVar10;\n      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      piVar13 = piVar13 + -1;\n      pppppppuVar10 = (undefined4 *******)local_b4;\n    }" ({ "{") (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)piVar13[-1];" (assignment_expression "pppppppuVar10 = (undefined4 *******)piVar13[-1]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)piVar13[-1]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "piVar13[-1]" (identifier "piVar13") ([ "[") (number_literal "-1") (] "]")))) (; ";")) (expression_statement "local_a8 = pppppppuVar10;" (assignment_expression "local_a8 = pppppppuVar10" (identifier "local_a8") (= "=") (identifier "pppppppuVar10")) (; ";")) (if_statement "if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }\n      else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" (if "if") (parenthesized_expression "(pppppppuVar10[0x26] == (undefined4 ******)0x0)" (( "(") (binary_expression "pppppppuVar10[0x26] == (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0x26]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x26") (] "]")) (== "==") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" ({ "{") (if_statement "if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;" (if "if") (parenthesized_expression "(*(int **)(param_1 + 0x4c) == piVar13 + -1)" (( "(") (binary_expression "*(int **)(param_1 + 0x4c) == piVar13 + -1" (pointer_expression "*(int **)(param_1 + 0x4c)" (* "*") (cast_expression "(int **)(param_1 + 0x4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (binary_expression "piVar13 + -1" (identifier "piVar13") (+ "+") (number_literal "-1"))) () ")")) (goto_statement "goto LAB_00089528;" (goto "goto") (statement_identifier "LAB_00089528") (; ";"))) (} "}")) (else_clause "else {\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" (else "else") (compound_statement "{\n        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];\n        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;\n        *(undefined4 *)(puVar35 + -0x14) = 0xc;\n        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;\n        *(undefined4 *)(puVar35 + -0x20) = param_5;\n        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;\n        FUN_00107c70();\n        local_a8[0x26] = (undefined4 ******)0x0;\n        unaff_EBX = (undefined4 *******)ppppppuVar31;\n        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;\n      }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26]" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "pppppppuVar10[0x26]" (identifier "pppppppuVar10") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "pppppppuVar10 + 0x27" (identifier "pppppppuVar10") (+ "+") (number_literal "0x27"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0xc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0xc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = param_5" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8950d;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8950d" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8950d")) (; ";")) (expression_statement "FUN_00107c70();" (call_expression "FUN_00107c70()" (identifier "FUN_00107c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_a8[0x26] = (undefined4 ******)0x0;" (assignment_expression "local_a8[0x26] = (undefined4 ******)0x0" (subscript_expression "local_a8[0x26]" (identifier "local_a8") ([ "[") (number_literal "0x26") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)ppppppuVar31" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuVar31"))) (; ";")) (if_statement "if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;" (if "if") (parenthesized_expression "(*(int **)(param_1 + 0x4c) == piVar13 + -1)" (( "(") (binary_expression "*(int **)(param_1 + 0x4c) == piVar13 + -1" (pointer_expression "*(int **)(param_1 + 0x4c)" (* "*") (cast_expression "(int **)(param_1 + 0x4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (binary_expression "piVar13 + -1" (identifier "piVar13") (+ "+") (number_literal "-1"))) () ")")) (goto_statement "goto LAB_00089528;" (goto "goto") (statement_identifier "LAB_00089528") (; ";"))) (} "}")))) (expression_statement "piVar13 = piVar13 + -1;" (assignment_expression "piVar13 = piVar13 + -1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + -1" (identifier "piVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)local_b4;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_b4" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0008a784;" (goto "goto") (statement_identifier "LAB_0008a784") (; ";")) (labeled_statement "LAB_00089744:\n  do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);" (statement_identifier "LAB_00089744") (: ":") (do_statement "do {\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  } while (*(int **)(param_1 + 0x50) != piVar40);" (do "do") (compound_statement "{\n    unaff_EBX = (undefined4 *******)*piVar40;\n    ppppppuVar31 = unaff_EBX[8];\n    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];\n    if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }\n    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);\n    local_a8 = (undefined4 ******)uVar43;\n    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }\n    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));\n    if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }\n    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }\n    piVar40 = piVar40 + 1;\n  }" ({ "{") (expression_statement "unaff_EBX = (undefined4 *******)*piVar40;" (assignment_expression "unaff_EBX = (undefined4 *******)*piVar40" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)*piVar40" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*piVar40" (* "*") (identifier "piVar40")))) (; ";")) (expression_statement "ppppppuVar31 = unaff_EBX[8];" (assignment_expression "ppppppuVar31 = unaff_EBX[8]" (identifier "ppppppuVar31") (= "=") (subscript_expression "unaff_EBX[8]" (identifier "unaff_EBX") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(*ppppppuVar31)[3]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "(*ppppppuVar31)[3]" (parenthesized_expression "(*ppppppuVar31)" (( "(") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (pppppppuVar10 == (undefined4 *******)local_bc) {\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }\n    else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" (if "if") (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)local_bc)" (( "(") (binary_expression "pppppppuVar10 == (undefined4 *******)local_bc" (identifier "pppppppuVar10") (== "==") (cast_expression "(undefined4 *******)local_bc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_bc"))) () ")")) (compound_statement "{\n      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);\n    }" ({ "{") (expression_statement "uVar43 = *(undefined8 *)(ppppppuVar31 + 9);" (assignment_expression "uVar43 = *(undefined8 *)(ppppppuVar31 + 9)" (identifier "uVar43") (= "=") (pointer_expression "*(undefined8 *)(ppppppuVar31 + 9)" (* "*") (cast_expression "(undefined8 *)(ppppppuVar31 + 9)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppuVar31 + 9)" (( "(") (binary_expression "ppppppuVar31 + 9" (identifier "ppppppuVar31") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" (else "else") (compound_statement "{\n      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;\n      uVar43 = (*(code *)pppppppuVar10)();\n    }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a776;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a776" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8a776")) (; ";")) (expression_statement "uVar43 = (*(code *)pppppppuVar10)();" (assignment_expression "uVar43 = (*(code *)pppppppuVar10)()" (identifier "uVar43") (= "=") (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar39 = (uint)((ulonglong)uVar43 >> 0x20);" (assignment_expression "uVar39 = (uint)((ulonglong)uVar43 >> 0x20)" (identifier "uVar39") (= "=") (call_expression "(uint)((ulonglong)uVar43 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar43 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar43")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_a8 = (undefined4 ******)uVar43;" (assignment_expression "local_a8 = (undefined4 ******)uVar43" (identifier "local_a8") (= "=") (cast_expression "(undefined4 ******)uVar43" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "uVar43"))) (; ";")) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }" (if "if") (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" (( "(") (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                    \n      *(undefined4 *)(puVar35 + -4) = 0x8c30f;\n      FUN_00052750();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c30f;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c30f" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8c30f")) (; ";")) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" (identifier "FUN_00052750") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));" (assignment_expression "pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f))" (( "(") (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" (( "(") (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")"))) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xac8") (] "]")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (if_statement "if (pppppppuVar10 < (undefined4 *******)0x20) {\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }\n    else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" (if "if") (parenthesized_expression "(pppppppuVar10 < (undefined4 *******)0x20)" (( "(") (binary_expression "pppppppuVar10 < (undefined4 *******)0x20" (identifier "pppppppuVar10") (< "<") (cast_expression "(undefined4 *******)0x20" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x20"))) () ")")) (compound_statement "{\n      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }\n    }" ({ "{") (if_statement "if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }" (if "if") (parenthesized_expression "(uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39)" (( "(") (binary_expression "uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39" (binary_expression "uVar39 == 0" (identifier "uVar39") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)((undefined4 *******)0x1f < local_a8) <= -uVar39" (call_expression "(uint)((undefined4 *******)0x1f < local_a8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)0x1f < local_a8)" (( "(") (binary_expression "(undefined4 *******)0x1f < local_a8" (cast_expression "(undefined4 *******)0x1f" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1f")) (< "<") (identifier "local_a8")) () ")"))) (<= "<=") (unary_expression "-uVar39" (- "-") (identifier "uVar39")))) () ")")) (compound_statement "{\n        ppppppuVar31[9] = (undefined4 *****)0x20;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        local_b4._0_4_ = (undefined4 *******)0x20;\nLAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;\n        pppppuVar26 = ppppppuVar31[0x2b];\n        if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }\n      }" ({ "{") (expression_statement "ppppppuVar31[9] = (undefined4 *****)0x20;" (assignment_expression "ppppppuVar31[9] = (undefined4 *****)0x20" (subscript_expression "ppppppuVar31[9]" (identifier "ppppppuVar31") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(undefined4 *****)0x20" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x20"))) (; ";")) (expression_statement "ppppppuVar31[10] = (undefined4 *****)0x0;" (assignment_expression "ppppppuVar31[10] = (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[10]" (identifier "ppppppuVar31") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)0x20;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)0x20" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)0x20" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x20"))) (; ";")) (labeled_statement "LAB_000897c9:\n        local_b4._4_4_ = (undefined4 *****)0x0;" (statement_identifier "LAB_000897c9") (: ":") (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "pppppuVar26 = ppppppuVar31[0x2b];" (assignment_expression "pppppuVar26 = ppppppuVar31[0x2b]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar31[0x2b]" (identifier "ppppppuVar31") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (if_statement "if (pppppuVar26 != (undefined4 *****)0x0) {\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }" (if "if") (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 != (undefined4 *****)0x0" (identifier "pppppuVar26") (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pppppuVar26[1] = (undefined4 *******)local_b4;\n          pppppuVar26[2] = (undefined4 ****)0x0;\n        }" ({ "{") (expression_statement "pppppuVar26[1] = (undefined4 *******)local_b4;" (assignment_expression "pppppuVar26[1] = (undefined4 *******)local_b4" (subscript_expression "pppppuVar26[1]" (identifier "pppppuVar26") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "pppppuVar26[2] = (undefined4 ****)0x0;" (assignment_expression "pppppuVar26[2] = (undefined4 ****)0x0" (subscript_expression "pppppuVar26[2]" (identifier "pppppuVar26") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(undefined4 ****)0x0" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" (else "else") (compound_statement "{\n      local_b4._4_4_ = (undefined4 *****)0x0;\n      local_b4._0_4_ = pppppppuVar10;\n      if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }\n    }" ({ "{") (expression_statement "local_b4._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_b4._4_4_ = (undefined4 *****)0x0" (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b4._0_4_ = pppppppuVar10;" (assignment_expression "local_b4._0_4_ = pppppppuVar10" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "pppppppuVar10")) (; ";")) (if_statement "if (uVar39 < (local_a8 < pppppppuVar10)) {\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }" (if "if") (parenthesized_expression "(uVar39 < (local_a8 < pppppppuVar10))" (( "(") (binary_expression "uVar39 < (local_a8 < pppppppuVar10)" (identifier "uVar39") (< "<") (parenthesized_expression "(local_a8 < pppppppuVar10)" (( "(") (binary_expression "local_a8 < pppppppuVar10" (identifier "local_a8") (< "<") (identifier "pppppppuVar10")) () ")"))) () ")")) (compound_statement "{\n        ppppppuVar31[9] = pppppppuVar10;\n        ppppppuVar31[10] = (undefined4 *****)0x0;\n        goto LAB_000897c9;\n      }" ({ "{") (expression_statement "ppppppuVar31[9] = pppppppuVar10;" (assignment_expression "ppppppuVar31[9] = pppppppuVar10" (subscript_expression "ppppppuVar31[9]" (identifier "ppppppuVar31") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "ppppppuVar31[10] = (undefined4 *****)0x0;" (assignment_expression "ppppppuVar31[10] = (undefined4 *****)0x0" (subscript_expression "ppppppuVar31[10]" (identifier "ppppppuVar31") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000897c9;" (goto "goto") (statement_identifier "LAB_000897c9") (; ";")) (} "}"))) (} "}")))) (if_statement "if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }" (if "if") (parenthesized_expression "((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20]))" (( "(") (binary_expression "(unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])" (parenthesized_expression "(unaff_EBX[0x1e] != unaff_EBX[0x1d])" (( "(") (binary_expression "unaff_EBX[0x1e] != unaff_EBX[0x1d]" (subscript_expression "unaff_EBX[0x1e]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1e") (] "]")) (!= "!=") (subscript_expression "unaff_EBX[0x1d]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1d") (] "]"))) () ")")) (|| "||") (parenthesized_expression "(unaff_EBX[0x1f] != unaff_EBX[0x20])" (( "(") (binary_expression "unaff_EBX[0x1f] != unaff_EBX[0x20]" (subscript_expression "unaff_EBX[0x1f]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1f") (] "]")) (!= "!=") (subscript_expression "unaff_EBX[0x20]" (identifier "unaff_EBX") ([ "[") (number_literal "0x20") (] "]"))) () ")"))) () ")")) (compound_statement "{\n      unaff_EBX[0x20] = unaff_EBX[0x1f];\n      unaff_EBX[0x1e] = unaff_EBX[0x1d];\n      local_40 = *(undefined4 *******)(*piVar40 + 0x20);\n      *(undefined4 *)(puVar35 + -0xc) = 1;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined8 ***)(puVar35 + -0x14) = local_68;\n      *(undefined4 ********)(puVar35 + -0x18) = &local_40;\n      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;\n      *(undefined1 **)(puVar35 + -0x20) = local_a4;\n      local_68[0] = (undefined8 *)local_10c;\n                    \n      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;\n      FUN_000abee0();\n      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);\n      puVar35 = puVar35 + -4;\n    }" ({ "{") (expression_statement "unaff_EBX[0x20] = unaff_EBX[0x1f];" (assignment_expression "unaff_EBX[0x20] = unaff_EBX[0x1f]" (subscript_expression "unaff_EBX[0x20]" (identifier "unaff_EBX") ([ "[") (number_literal "0x20") (] "]")) (= "=") (subscript_expression "unaff_EBX[0x1f]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1f") (] "]"))) (; ";")) (expression_statement "unaff_EBX[0x1e] = unaff_EBX[0x1d];" (assignment_expression "unaff_EBX[0x1e] = unaff_EBX[0x1d]" (subscript_expression "unaff_EBX[0x1e]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (subscript_expression "unaff_EBX[0x1d]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (expression_statement "local_40 = *(undefined4 *******)(*piVar40 + 0x20);" (assignment_expression "local_40 = *(undefined4 *******)(*piVar40 + 0x20)" (identifier "local_40") (= "=") (pointer_expression "*(undefined4 *******)(*piVar40 + 0x20)" (* "*") (cast_expression "(undefined4 *******)(*piVar40 + 0x20)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*piVar40 + 0x20)" (( "(") (binary_expression "*piVar40 + 0x20" (pointer_expression "*piVar40" (* "*") (identifier "piVar40")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 ***)(puVar35 + -0x14) = local_68;" (assignment_expression "*(undefined8 ***)(puVar35 + -0x14) = local_68" (pointer_expression "*(undefined8 ***)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined8 ***)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined8 ***" (type_identifier "undefined8") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_68")) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = &local_40;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = &local_40" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x1c) = local_10c;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x1c) = local_10c" (pointer_expression "*(undefined4 *******)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_10c")) (; ";")) (expression_statement "*(undefined1 **)(puVar35 + -0x20) = local_a4;" (assignment_expression "*(undefined1 **)(puVar35 + -0x20) = local_a4" (pointer_expression "*(undefined1 **)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined1 **)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "local_68[0] = (undefined8 *)local_10c;" (assignment_expression "local_68[0] = (undefined8 *)local_10c" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined8 *)local_10c" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_10c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8972b;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8972b" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8972b")) (; ";")) (expression_statement "FUN_000abee0();" (call_expression "FUN_000abee0()" (identifier "FUN_000abee0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);" (assignment_expression "local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1)" (identifier "local_fc") (= "=") (cast_expression "(undefined4 ******)CONCAT31(local_fc._1_3_,1)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "CONCAT31(local_fc._1_3_,1)" (identifier "CONCAT31") (argument_list "(local_fc._1_3_,1)" (( "(") (field_expression "local_fc._1_3_" (identifier "local_fc") (. ".") (field_identifier "_1_3_")) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "puVar35 = puVar35 + -4;" (assignment_expression "puVar35 = puVar35 + -4" (identifier "puVar35") (= "=") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" (identifier "piVar40") (= "=") (binary_expression "piVar40 + 1" (identifier "piVar40") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(param_1 + 0x50) != piVar40)" (( "(") (binary_expression "*(int **)(param_1 + 0x50) != piVar40" (pointer_expression "*(int **)(param_1 + 0x50)" (* "*") (cast_expression "(int **)(param_1 + 0x50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (identifier "piVar40")) () ")")) (; ";"))) (expression_statement "local_e4 = local_54;" (assignment_expression "local_e4 = local_54" (identifier "local_e4") (= "=") (identifier "local_54")) (; ";")) (if_statement "if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;" (if "if") (parenthesized_expression "((undefined4 *******)local_54 == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_54 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_54" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_54")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008a7bd;" (goto "goto") (statement_identifier "LAB_0008a7bd") (; ";"))) (do_statement "do {\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);" (do "do") (compound_statement "{\n    local_b4 = 0;\n    local_bc = (undefined4 ******)local_e4[1];\n    local_a8 = ((undefined4 *******)local_bc)[0x1b];\n    lVar44 = 0;\n    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }\n    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;\n    local_e4 = (undefined4 ******)*local_e4;\n  }" ({ "{") (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc = (undefined4 ******)local_e4[1];" (assignment_expression "local_bc = (undefined4 ******)local_e4[1]" (identifier "local_bc") (= "=") (cast_expression "(undefined4 ******)local_e4[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_e4[1]" (identifier "local_e4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_a8 = ((undefined4 *******)local_bc)[0x1b];" (assignment_expression "local_a8 = ((undefined4 *******)local_bc)[0x1b]" (identifier "local_a8") (= "=") (subscript_expression "((undefined4 *******)local_bc)[0x1b]" (parenthesized_expression "((undefined4 *******)local_bc)" (( "(") (cast_expression "(undefined4 *******)local_bc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_bc")) () ")")) ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "lVar44 = 0;" (assignment_expression "lVar44 = 0" (identifier "lVar44") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }" (if "if") (parenthesized_expression "(local_a8 != ((undefined4 *******)local_bc)[0x1c])" (( "(") (binary_expression "local_a8 != ((undefined4 *******)local_bc)[0x1c]" (identifier "local_a8") (!= "!=") (subscript_expression "((undefined4 *******)local_bc)[0x1c]" (parenthesized_expression "((undefined4 *******)local_bc)" (( "(") (cast_expression "(undefined4 *******)local_bc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_bc")) () ")")) ([ "[") (number_literal "0x1c") (] "]"))) () ")")) (compound_statement "{\n      do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);\n    }" ({ "{") (do_statement "do {\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      } while ((undefined4 ******)local_bc[0x1c] != local_a8);" (do "do") (compound_statement "{\n        ppppppuVar31 = (undefined4 ******)*local_a8;\n        local_b4 = lVar44;\n        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }\n        local_a8 = local_a8 + 6;\n        lVar44 = local_b4;\n      }" ({ "{") (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" (identifier "local_b4") (= "=") (identifier "lVar44")) (; ";")) (if_statement "if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }\n        else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" (if "if") (parenthesized_expression "((undefined4 ******)local_a8[1] == (undefined4 ******)0x0)" (( "(") (binary_expression "(undefined4 ******)local_a8[1] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_a8[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]"))) (== "==") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }\nLAB_0008aab8:\n          ppppppuVar31 = local_a8;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;\n          local_b4 = lVar44;\n          piVar13 = (int *)FUN_0015c600();\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;\n          uVar9 = FUN_0015c690();\n          iVar19 = *piVar13;\n          *(longlong *)(puVar35 + -8) = local_b4;\n          *(undefined4 *)(puVar35 + -0xc) = uVar9;\n          *(int **)(puVar35 + -0x10) = piVar13;\n          pcVar3 = *(code **)(iVar19 + 0xdc);\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;\n          (*pcVar3)();\n          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;\n          local_cc._4_4_ = (undefined4 *****)0x0;\n          unaff_EBX = (undefined4 *******)ppppppuVar31[4];\n          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);\n          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);\n          if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }\n          if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }\n          lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);\n          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);\n          local_cc = *(longlong *)(unaff_EBX + 0x21);\n          if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }\n          bVar42 = *(byte *)(unaff_EBX + 7);\n          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;\n          if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }\n          *(longlong *)(unaff_EBX + 3) = local_cc;\n          if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }\n          ppppppuVar31 = (undefined4 ******)local_bc[5];\n          ppppppuVar11 = (undefined4 ******)local_bc[6];\n          if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }\n          ppppppuVar33 = (undefined4 ******)local_bc[1];\n          ppppppuVar8 = (undefined4 ******)local_bc[1];\n          ppppppuVar29 = (undefined4 ******)local_bc[2];\n          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);\n          ppppppuVar4 = *unaff_EBX;\n          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);\n          unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);\n          unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);\n          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;\n          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n          pppppuVar26 = ppppppuVar4[0xe];\n          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;\n          (*(code *)pppppuVar26)();\n          if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }\n          lVar44 = local_b4 + local_cc;\n          local_b4 = local_cc + local_b4;\n          if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }\n        }" ({ "{") (if_statement "if ((undefined4 ******)0xfffffffb < ppppppuVar31) {\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }" (if "if") (parenthesized_expression "((undefined4 ******)0xfffffffb < ppppppuVar31)" (( "(") (binary_expression "(undefined4 ******)0xfffffffb < ppppppuVar31" (cast_expression "(undefined4 ******)0xfffffffb" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0xfffffffb")) (< "<") (identifier "ppppppuVar31")) () ")")) (compound_statement "{\n            ppppppuVar11 = (undefined4 ******)local_a8[4];\n            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];\n            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }\n            goto LAB_0008aa09;\n          }" ({ "{") (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[4];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[4]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[4]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];" (assignment_expression "pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3]" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)(*ppppppuVar11)[3]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "(*ppppppuVar11)[3]" (parenthesized_expression "(*ppppppuVar11)" (( "(") (pointer_expression "*ppppppuVar11" (* "*") (identifier "ppppppuVar11")) () ")")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }\n            else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" (if "if") (parenthesized_expression "(pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c))" (( "(") (binary_expression "pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)" (identifier "pppppppuVar10") (== "==") (cast_expression "(undefined4 *******)(local_ac + -0xdbf0c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0xdbf0c)" (( "(") (binary_expression "local_ac + -0xdbf0c" (identifier "local_ac") (+ "+") (number_literal "-0xdbf0c")) () ")")))) () ")")) (compound_statement "{\n              lVar45 = *(longlong *)(ppppppuVar11 + 9);\n            }" ({ "{") (expression_statement "lVar45 = *(longlong *)(ppppppuVar11 + 9);" (assignment_expression "lVar45 = *(longlong *)(ppppppuVar11 + 9)" (identifier "lVar45") (= "=") (pointer_expression "*(longlong *)(ppppppuVar11 + 9)" (* "*") (cast_expression "(longlong *)(ppppppuVar11 + 9)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppuVar11 + 9)" (( "(") (binary_expression "ppppppuVar11 + 9" (identifier "ppppppuVar11") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" (else "else") (compound_statement "{\n              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;\n              lVar45 = (*(code *)pppppppuVar10)();\n              ppppppuVar31 = (undefined4 ******)*local_a8;\n            }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ad8e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ad8e")) (; ";")) (expression_statement "lVar45 = (*(code *)pppppppuVar10)();" (assignment_expression "lVar45 = (*(code *)pppppppuVar10)()" (identifier "lVar45") (= "=") (call_expression "(*(code *)pppppppuVar10)()" (parenthesized_expression "(*(code *)pppppppuVar10)" (( "(") (pointer_expression "*(code *)pppppppuVar10" (* "*") (cast_expression "(code *)pppppppuVar10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppuVar10"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)*local_a8;" (assignment_expression "ppppppuVar31 = (undefined4 ******)*local_a8" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*local_a8" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")))) (; ";")) (} "}")))) (goto_statement "goto LAB_0008aa09;" (goto "goto") (statement_identifier "LAB_0008aa09") (; ";")) (} "}"))) (labeled_statement "LAB_0008aab8:\n          ppppppuVar31 = local_a8;" (statement_identifier "LAB_0008aab8") (: ":") (expression_statement "ppppppuVar31 = local_a8;" (assignment_expression "ppppppuVar31 = local_a8" (identifier "ppppppuVar31") (= "=") (identifier "local_a8")) (; ";"))) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aacd;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aacd" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8aacd")) (; ";")) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" (identifier "local_b4") (= "=") (identifier "lVar44")) (; ";")) (expression_statement "piVar13 = (int *)FUN_0015c600();" (assignment_expression "piVar13 = (int *)FUN_0015c600()" (identifier "piVar13") (= "=") (cast_expression "(int *)FUN_0015c600()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0015c600()" (identifier "FUN_0015c600") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aadd;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aadd" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8aadd")) (; ";")) (expression_statement "uVar9 = FUN_0015c690();" (assignment_expression "uVar9 = FUN_0015c690()" (identifier "uVar9") (= "=") (call_expression "FUN_0015c690()" (identifier "FUN_0015c690") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" (identifier "iVar19") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "*(longlong *)(puVar35 + -8) = local_b4;" (assignment_expression "*(longlong *)(puVar35 + -8) = local_b4" (pointer_expression "*(longlong *)(puVar35 + -8)" (* "*") (cast_expression "(longlong *)(puVar35 + -8)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(int **)(puVar35 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar35 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar35 + -0x10)" (* "*") (cast_expression "(int **)(puVar35 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar19 + 0xdc);" (assignment_expression "pcVar3 = *(code **)(iVar19 + 0xdc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar19 + 0xdc)" (* "*") (cast_expression "(code **)(iVar19 + 0xdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar19 + 0xdc)" (( "(") (binary_expression "iVar19 + 0xdc" (identifier "iVar19") (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aaf6" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8aaf6")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;" (if "if") (parenthesized_expression "((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc)" (( "(") (binary_expression "(undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc" (cast_expression "(undefined4 ******)*ppppppuVar31" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31"))) (!= "!=") (cast_expression "(undefined4 ******)0xfffffffc" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0xfffffffc"))) () ")")) (goto_statement "goto LAB_0008aa48;" (goto "goto") (statement_identifier "LAB_0008aa48") (; ";"))) (expression_statement "local_cc._4_4_ = (undefined4 *****)0x0;" (assignment_expression "local_cc._4_4_ = (undefined4 *****)0x0" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31[4];" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31[4]" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)ppppppuVar31[4]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppuVar31[4]" (identifier "ppppppuVar31") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);" (assignment_expression "local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c])" (identifier "local_dc") (= "=") (binary_expression "local_b4 + ZEXT48(unaff_EBX[0x1c])" (identifier "local_b4") (+ "+") (call_expression "ZEXT48(unaff_EBX[0x1c])" (identifier "ZEXT48") (argument_list "(unaff_EBX[0x1c])" (( "(") (subscript_expression "unaff_EBX[0x1c]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1c") (] "]")) () ")"))))) (; ";")) (expression_statement "local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);" (assignment_expression "local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d])" (( "(") (binary_expression "(int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]" (cast_expression "(int)unaff_EBX[0x1f]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_EBX[0x1f]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1f") (] "]"))) (+ "+") (cast_expression "(int)unaff_EBX[0x1d]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_EBX[0x1d]" (identifier "unaff_EBX") ([ "[") (number_literal "0x1d") (] "]")))) () ")")))) (; ";")) (if_statement "if (*(char *)(unaff_EBX + 0x23) != '\0') {\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }" (if "if") (parenthesized_expression "(*(char *)(unaff_EBX + 0x23) != '\0')" (( "(") (binary_expression "*(char *)(unaff_EBX + 0x23) != '\0'" (pointer_expression "*(char *)(unaff_EBX + 0x23)" (* "*") (cast_expression "(char *)(unaff_EBX + 0x23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 0x23)" (( "(") (binary_expression "unaff_EBX + 0x23" (identifier "unaff_EBX") (+ "+") (number_literal "0x23")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            pppppuVar26 = unaff_EBX[0xd][0x2b];\n            if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }\n            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);\n            local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);\n            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);\n          }" ({ "{") (expression_statement "pppppuVar26 = unaff_EBX[0xd][0x2b];" (assignment_expression "pppppuVar26 = unaff_EBX[0xd][0x2b]" (identifier "pppppuVar26") (= "=") (subscript_expression "unaff_EBX[0xd][0x2b]" (subscript_expression "unaff_EBX[0xd]" (identifier "unaff_EBX") ([ "[") (number_literal "0xd") (] "]")) ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (if_statement "if (((uint)pppppuVar26[7] & 2) == 0) {\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }" (if "if") (parenthesized_expression "(((uint)pppppuVar26[7] & 2) == 0)" (( "(") (binary_expression "((uint)pppppuVar26[7] & 2) == 0" (parenthesized_expression "((uint)pppppuVar26[7] & 2)" (( "(") (binary_expression "(uint)pppppuVar26[7] & 2" (cast_expression "(uint)pppppuVar26[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[7]" (identifier "pppppuVar26") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;\n              *(undefined4 *)(puVar35 + -0xc) = 0xcf;\n              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;\n              FUN_000da200();\n            }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47701" (identifier "local_ac") (+ "+") (number_literal "-0x47701"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcf")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x47469" (identifier "local_ac") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c054;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c054" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c054")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);" (assignment_expression "bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" (identifier "bVar41") (= "=") (call_expression "CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3])" (( "(") (cast_expression "(uint)(undefined4 *******)local_cc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) (, ",") (cast_expression "(uint)pppppuVar26[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[3]" (identifier "pppppuVar26") ([ "[") (number_literal "3") (] "]"))) () ")")))) (; ";")) (expression_statement "local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);" (assignment_expression "local_cc._0_4_ =\n                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_cc + (int)pppppuVar26[3])" (( "(") (binary_expression "(int)(undefined4 *******)local_cc + (int)pppppuVar26[3]" (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) (+ "+") (cast_expression "(int)pppppuVar26[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[3]" (identifier "pppppuVar26") ([ "[") (number_literal "3") (] "]")))) () ")")))) (; ";")) (expression_statement "local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);" (assignment_expression "local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41)" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppuVar26[4] + (uint)bVar41)" (( "(") (binary_expression "(int)pppppuVar26[4] + (uint)bVar41" (cast_expression "(int)pppppuVar26[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[4]" (identifier "pppppuVar26") ([ "[") (number_literal "4") (] "]"))) (+ "+") (cast_expression "(uint)bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar41"))) () ")")))) (; ";")) (} "}"))) (if_statement "if (local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0) {\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }" (if "if") (parenthesized_expression "(local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0)" (( "(") (binary_expression "local_cc._4_4_ != (undefined4 *****)0x0 ||\n              (undefined4 *******)local_cc != (undefined4 *******)0x0" (binary_expression "local_cc._4_4_ != (undefined4 *****)0x0" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "(undefined4 *******)local_cc != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }\n            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n            if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }\n            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);\n            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);\n          }" ({ "{") (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }" (if "if") (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" (( "(") (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n              *(undefined4 *)(puVar35 + -4) = 0x8c314;\n              FUN_00052750();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c314;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c314" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8c314")) (; ";")) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" (identifier "FUN_00052750") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (identifier "uVar39") (= "=") (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" (( "(") (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")"))) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xac8") (] "]")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar39 < 0x20) {\n              uVar39 = 0x20;\n            }" (if "if") (parenthesized_expression "(uVar39 < 0x20)" (( "(") (binary_expression "uVar39 < 0x20" (identifier "uVar39") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n              uVar39 = 0x20;\n            }" ({ "{") (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" (identifier "uVar39") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (expression_statement "local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);" (assignment_expression "local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" (identifier "local_dc") (= "=") (binary_expression "local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" (identifier "local_dc") (+ "+") (call_expression "CONCAT44((uVar39 != 0) - 1,uVar39 - 1)" (identifier "CONCAT44") (argument_list "((uVar39 != 0) - 1,uVar39 - 1)" (( "(") (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) (, ",") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39);" (assignment_expression "local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" (identifier "local_dc") (= "=") (call_expression "CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" (identifier "CONCAT44") (argument_list "(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),\n                                (uint)local_dc & -uVar39)" (( "(") (binary_expression "-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20)" (unary_expression "-(uint)(uVar39 != 0)" (- "-") (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")))) (& "&") (call_expression "(uint)((ulonglong)local_dc >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)local_dc >> 0x20)" (( "(") (binary_expression "(ulonglong)local_dc >> 0x20" (cast_expression "(ulonglong)local_dc" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "local_dc")) (>> ">>") (number_literal "0x20")) () ")")))) (, ",") (binary_expression "(uint)local_dc & -uVar39" (cast_expression "(uint)local_dc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_dc")) (& "&") (unary_expression "-uVar39" (- "-") (identifier "uVar39"))) () ")")))) (; ";")) (} "}"))) (expression_statement "lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);" (assignment_expression "lVar44 = local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" (identifier "lVar44") (= "=") (binary_expression "local_dc +\n                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" (identifier "local_dc") (+ "+") (call_expression "CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" (identifier "CONCAT44") (argument_list "(((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),\n                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4)" (( "(") (binary_expression "((int)local_cc._4_4_ - (int)local_b4._4_4_) -\n                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4)" (parenthesized_expression "((int)local_cc._4_4_ - (int)local_b4._4_4_)" (( "(") (binary_expression "(int)local_cc._4_4_ - (int)local_b4._4_4_" (cast_expression "(int)local_cc._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_"))) (- "-") (cast_expression "(int)local_b4._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")))) () ")")) (- "-") (call_expression "(uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_cc < (undefined4 *******)local_b4)" (( "(") (binary_expression "(undefined4 *******)local_cc < (undefined4 *******)local_b4" (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")) (< "<") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) () ")")))) (, ",") (binary_expression "(int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4" (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) (- "-") (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")))) () ")"))))) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);" (assignment_expression "ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20)" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)((ulonglong)lVar44 >> 0x20)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar44")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_cc = *(longlong *)(unaff_EBX + 0x21);" (assignment_expression "local_cc = *(longlong *)(unaff_EBX + 0x21)" (identifier "local_cc") (= "=") (pointer_expression "*(longlong *)(unaff_EBX + 0x21)" (* "*") (cast_expression "(longlong *)(unaff_EBX + 0x21)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 0x21)" (( "(") (binary_expression "unaff_EBX + 0x21" (identifier "unaff_EBX") (+ "+") (number_literal "0x21")) () ")"))))) (; ";")) (if_statement "if (unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {\n            local_cc = lVar44;\n          }" (if "if") (parenthesized_expression "(unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44))" (( "(") (binary_expression "unaff_EBX[0x22] < ppppppuVar31 ||\n              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (binary_expression "unaff_EBX[0x22] < ppppppuVar31" (subscript_expression "unaff_EBX[0x22]" (identifier "unaff_EBX") ([ "[") (number_literal "0x22") (] "]")) (< "<") (identifier "ppppppuVar31")) (|| "||") (binary_expression "(uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <\n              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (call_expression "(uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)unaff_EBX[0x22] - (int)ppppppuVar31)" (( "(") (binary_expression "(int)unaff_EBX[0x22] - (int)ppppppuVar31" (cast_expression "(int)unaff_EBX[0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_EBX[0x22]" (identifier "unaff_EBX") ([ "[") (number_literal "0x22") (] "]"))) (- "-") (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31"))) () ")"))) (< "<") (call_expression "(uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(unaff_EBX[0x21] < (undefined4 ******)lVar44)" (( "(") (binary_expression "unaff_EBX[0x21] < (undefined4 ******)lVar44" (subscript_expression "unaff_EBX[0x21]" (identifier "unaff_EBX") ([ "[") (number_literal "0x21") (] "]")) (< "<") (cast_expression "(undefined4 ******)lVar44" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "lVar44"))) () ")"))))) () ")")) (compound_statement "{\n            local_cc = lVar44;\n          }" ({ "{") (expression_statement "local_cc = lVar44;" (assignment_expression "local_cc = lVar44" (identifier "local_cc") (= "=") (identifier "lVar44")) (; ";")) (} "}"))) (expression_statement "bVar42 = *(byte *)(unaff_EBX + 7);" (assignment_expression "bVar42 = *(byte *)(unaff_EBX + 7)" (identifier "bVar42") (= "=") (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xfa" (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xfa" (identifier "bVar42") (& "&") (number_literal "0xfa"))) (; ";")) (if_statement "if ((bVar42 & 8) == 0) {\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }\n          else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "((bVar42 & 8) == 0)" (( "(") (binary_expression "(bVar42 & 8) == 0" (parenthesized_expression "(bVar42 & 8)" (( "(") (binary_expression "bVar42 & 8" (identifier "bVar42") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;\n          }" ({ "{") (expression_statement "*(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;" (assignment_expression "*(byte *)(unaff_EBX + 7) = bVar42 & 0xf8" (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "bVar42 & 0xf8" (identifier "bVar42") (& "&") (number_literal "0xf8"))) (; ";")) (} "}")) (else_clause "else if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" (else "else") (if_statement "if ((bVar42 & 2) != 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "((bVar42 & 2) != 0)" (( "(") (binary_expression "(bVar42 & 2) != 0" (parenthesized_expression "(bVar42 & 2)" (( "(") (binary_expression "bVar42 & 2" (identifier "bVar42") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47868" (identifier "local_ac") (+ "+") (number_literal "-0x47868"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x231")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x47469" (identifier "local_ac") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008acc9" (pointer_expression "*(undefined **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008acc9" (& "&") (identifier "UNK_0008acc9"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (expression_statement "*(longlong *)(unaff_EBX + 3) = local_cc;" (assignment_expression "*(longlong *)(unaff_EBX + 3) = local_cc" (pointer_expression "*(longlong *)(unaff_EBX + 3)" (* "*") (cast_expression "(longlong *)(unaff_EBX + 3)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 3)" (( "(") (binary_expression "unaff_EBX + 3" (identifier "unaff_EBX") (+ "+") (number_literal "3")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (if_statement "if (((uint)local_bc[7] & 4) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(((uint)local_bc[7] & 4) == 0)" (( "(") (binary_expression "((uint)local_bc[7] & 4) == 0" (parenthesized_expression "((uint)local_bc[7] & 4)" (( "(") (binary_expression "(uint)local_bc[7] & 4" (cast_expression "(uint)local_bc[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_bc[7]" (identifier "local_bc") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;\n            *(undefined4 *)(puVar35 + -0xc) = 0xe3;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x4784e" (identifier "local_ac") (+ "+") (number_literal "-0x4784e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x47469" (identifier "local_ac") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c075;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c075" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c075")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar31 = (undefined4 ******)local_bc[5];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_bc[5]" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)local_bc[5]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_bc[5]" (identifier "local_bc") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)local_bc[6];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_bc[6]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_bc[6]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_bc[6]" (identifier "local_bc") ([ "[") (number_literal "6") (] "]")))) (; ";")) (if_statement "if (((uint)local_bc[7] & 1) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(((uint)local_bc[7] & 1) == 0)" (( "(") (binary_expression "((uint)local_bc[7] & 1) == 0" (parenthesized_expression "((uint)local_bc[7] & 1)" (( "(") (binary_expression "(uint)local_bc[7] & 1" (cast_expression "(uint)local_bc[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_bc[7]" (identifier "local_bc") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n            *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47743" (identifier "local_ac") (+ "+") (number_literal "-0x47743"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x47469" (identifier "local_ac") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8bfdf" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8bfdf")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar33 = (undefined4 ******)local_bc[1];" (assignment_expression "ppppppuVar33 = (undefined4 ******)local_bc[1]" (identifier "ppppppuVar33") (= "=") (cast_expression "(undefined4 ******)local_bc[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_bc[1]" (identifier "local_bc") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "ppppppuVar8 = (undefined4 ******)local_bc[1];" (assignment_expression "ppppppuVar8 = (undefined4 ******)local_bc[1]" (identifier "ppppppuVar8") (= "=") (cast_expression "(undefined4 ******)local_bc[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_bc[1]" (identifier "local_bc") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "ppppppuVar29 = (undefined4 ******)local_bc[2];" (assignment_expression "ppppppuVar29 = (undefined4 ******)local_bc[2]" (identifier "ppppppuVar29") (= "=") (cast_expression "(undefined4 ******)local_bc[2]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_bc[2]" (identifier "local_bc") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);" (assignment_expression "unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5])" (subscript_expression "unaff_EBX[5]" (identifier "unaff_EBX") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5])" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)local_bc[5])" (( "(") (binary_expression "(int)(undefined4 *******)local_b4 + (int)local_bc[5]" (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (+ "+") (cast_expression "(int)local_bc[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_bc[5]" (identifier "local_bc") ([ "[") (number_literal "5") (] "]")))) () ")")))) (; ";")) (expression_statement "ppppppuVar4 = *unaff_EBX;" (assignment_expression "ppppppuVar4 = *unaff_EBX" (identifier "ppppppuVar4") (= "=") (pointer_expression "*unaff_EBX" (* "*") (identifier "unaff_EBX"))) (; ";")) (expression_statement "unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);" (assignment_expression "unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" (subscript_expression "unaff_EBX[1]" (identifier "unaff_EBX") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_b4 + (int)ppppppuVar8)" (( "(") (binary_expression "(int)(undefined4 *******)local_b4 + (int)ppppppuVar8" (cast_expression "(int)(undefined4 *******)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (+ "+") (cast_expression "(int)ppppppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar8"))) () ")")))) (; ";")) (expression_statement "unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_);" (assignment_expression "unaff_EBX[2] = (undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" (subscript_expression "unaff_EBX[2]" (identifier "unaff_EBX") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(undefined4 ******)\n                         ((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_)" (( "(") (binary_expression "(int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +\n                         (int)local_b4._4_4_" (binary_expression "(int)ppppppuVar29 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" (cast_expression "(int)ppppppuVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar29")) (+ "+") (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33)" (( "(") (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (, ",") (cast_expression "(uint)ppppppuVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppuVar33")) () ")"))))) (+ "+") (cast_expression "(int)local_b4._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")))) () ")")))) (; ";")) (expression_statement "unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_);" (assignment_expression "unaff_EBX[6] = (undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" (subscript_expression "unaff_EBX[6]" (identifier "unaff_EBX") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined4 ******)\n                         ((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_)" (( "(") (binary_expression "(int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +\n                         (int)local_b4._4_4_" (binary_expression "(int)ppppppuVar11 +\n                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (+ "+") (cast_expression "(uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" (identifier "CARRY4") (argument_list "((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31)" (( "(") (cast_expression "(uint)(undefined4 *******)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (, ",") (cast_expression "(uint)ppppppuVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppuVar31")) () ")"))))) (+ "+") (cast_expression "(int)local_b4._4_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")))) () ")")))) (; ";")) (expression_statement "*(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;" (assignment_expression "*(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5" (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(unaff_EBX + 7) | 5" (pointer_expression "*(byte *)(unaff_EBX + 7)" (* "*") (cast_expression "(byte *)(unaff_EBX + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 7)" (( "(") (binary_expression "unaff_EBX + 7" (identifier "unaff_EBX") (+ "+") (number_literal "7")) () ")")))) (| "|") (number_literal "5"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "unaff_EBX")) (; ";")) (expression_statement "pppppuVar26 = ppppppuVar4[0xe];" (assignment_expression "pppppuVar26 = ppppppuVar4[0xe]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar4[0xe]" (identifier "ppppppuVar4") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ac5b" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ac5b")) (; ";")) (expression_statement "(*(code *)pppppuVar26)();" (call_expression "(*(code *)pppppuVar26)()" (parenthesized_expression "(*(code *)pppppuVar26)" (( "(") (pointer_expression "*(code *)pppppuVar26" (* "*") (cast_expression "(code *)pppppuVar26" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppuVar26"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" (( "(") (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" (( "(") (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "unaff_EBX[7]" (identifier "unaff_EBX") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;\n            *(undefined4 *)(puVar35 + -0xc) = 0x163;\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x478e2" (identifier "local_ac") (+ "+") (number_literal "-0x478e2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x163")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x47469" (identifier "local_ac") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c033;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c033" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c033")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar44 = local_b4 + local_cc;" (assignment_expression "lVar44 = local_b4 + local_cc" (identifier "lVar44") (= "=") (binary_expression "local_b4 + local_cc" (identifier "local_b4") (+ "+") (identifier "local_cc"))) (; ";")) (expression_statement "local_b4 = local_cc + local_b4;" (assignment_expression "local_b4 = local_cc + local_b4" (identifier "local_b4") (= "=") (binary_expression "local_cc + local_b4" (identifier "local_cc") (+ "+") (identifier "local_b4"))) (; ";")) (if_statement "if (3 < param_2) {\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }" (if "if") (parenthesized_expression "(3 < param_2)" (( "(") (binary_expression "3 < param_2" (number_literal "3") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n            *(longlong *)(unaff_EBX + 0x21) = local_cc;\n            local_b4 = lVar44;\n          }" ({ "{") (expression_statement "*(longlong *)(unaff_EBX + 0x21) = local_cc;" (assignment_expression "*(longlong *)(unaff_EBX + 0x21) = local_cc" (pointer_expression "*(longlong *)(unaff_EBX + 0x21)" (* "*") (cast_expression "(longlong *)(unaff_EBX + 0x21)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBX + 0x21)" (( "(") (binary_expression "unaff_EBX + 0x21" (identifier "unaff_EBX") (+ "+") (number_literal "0x21")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" (identifier "local_b4") (= "=") (identifier "lVar44")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" (else "else") (compound_statement "{\n          puVar23 = (undefined *)((int)local_a8[1] + -1);\n          bVar42 = (byte)puVar23;\n          bVar41 = ((uint)puVar23 & 0x20) == 0;\n          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));\nLAB_0008aa09:\n          lVar44 = local_b4;\n          if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }\n          local_b4 = lVar44;\n          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;\nLAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;\n          *(undefined4 *******)(puVar35 + -0x10) = local_a8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;\n          lVar44 = FUN_0015c5c0();\n          local_b4 = lVar44 + local_b4;\n        }" ({ "{") (expression_statement "puVar23 = (undefined *)((int)local_a8[1] + -1);" (assignment_expression "puVar23 = (undefined *)((int)local_a8[1] + -1)" (identifier "puVar23") (= "=") (cast_expression "(undefined *)((int)local_a8[1] + -1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_a8[1] + -1)" (( "(") (binary_expression "(int)local_a8[1] + -1" (cast_expression "(int)local_a8[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "bVar42 = (byte)puVar23;" (assignment_expression "bVar42 = (byte)puVar23" (identifier "bVar42") (= "=") (cast_expression "(byte)puVar23" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "puVar23"))) (; ";")) (expression_statement "bVar41 = ((uint)puVar23 & 0x20) == 0;" (assignment_expression "bVar41 = ((uint)puVar23 & 0x20) == 0" (identifier "bVar41") (= "=") (binary_expression "((uint)puVar23 & 0x20) == 0" (parenthesized_expression "((uint)puVar23 & 0x20)" (( "(") (binary_expression "(uint)puVar23 & 0x20" (cast_expression "(uint)puVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar23")) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0"))) (; ";")) (expression_statement "lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));" (assignment_expression "lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" (identifier "lVar45") (= "=") (call_expression "CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" (identifier "CONCAT44") (argument_list "((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f))" (( "(") (binary_expression "(uint)!bVar41 << (bVar42 & 0x1f)" (cast_expression "(uint)!bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (unary_expression "!bVar41" (! "!") (identifier "bVar41"))) (<< "<<") (parenthesized_expression "(bVar42 & 0x1f)" (( "(") (binary_expression "bVar42 & 0x1f" (identifier "bVar42") (& "&") (number_literal "0x1f")) () ")"))) (, ",") (binary_expression "(uint)bVar41 << (bVar42 & 0x1f)" (cast_expression "(uint)bVar41" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar41")) (<< "<<") (parenthesized_expression "(bVar42 & 0x1f)" (( "(") (binary_expression "bVar42 & 0x1f" (identifier "bVar42") (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (labeled_statement "LAB_0008aa09:\n          lVar44 = local_b4;" (statement_identifier "LAB_0008aa09") (: ":") (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" (identifier "lVar44") (= "=") (identifier "local_b4")) (; ";"))) (if_statement "if (lVar45 != 0) {\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }" (if "if") (parenthesized_expression "(lVar45 != 0)" (( "(") (binary_expression "lVar45 != 0" (identifier "lVar45") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            lVar44 = lVar45 + local_b4 + -1;\n            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);\n          }" ({ "{") (expression_statement "lVar44 = lVar45 + local_b4 + -1;" (assignment_expression "lVar44 = lVar45 + local_b4 + -1" (identifier "lVar44") (= "=") (binary_expression "lVar45 + local_b4 + -1" (binary_expression "lVar45 + local_b4" (identifier "lVar45") (+ "+") (identifier "local_b4")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45);" (assignment_expression "lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" (identifier "lVar44") (= "=") (call_expression "CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" (identifier "CONCAT44") (argument_list "((uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),\n                              (uint)lVar44 & -(int)lVar45)" (( "(") (binary_expression "(uint)((ulonglong)lVar44 >> 0x20) &\n                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" (call_expression "(uint)((ulonglong)lVar44 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar44 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar44")) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (unary_expression "-((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" (- "-") (parenthesized_expression "((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0))" (( "(") (binary_expression "(int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)" (cast_expression "(int)((ulonglong)lVar45 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar45 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar45 >> 0x20" (cast_expression "(ulonglong)lVar45" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar45")) (>> ">>") (number_literal "0x20")) () ")"))) (+ "+") (call_expression "(uint)((int)lVar45 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)lVar45 != 0)" (( "(") (binary_expression "(int)lVar45 != 0" (cast_expression "(int)lVar45" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar45")) (!= "!=") (number_literal "0")) () ")")))) () ")")))) (, ",") (binary_expression "(uint)lVar44 & -(int)lVar45" (cast_expression "(uint)lVar44" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar44")) (& "&") (unary_expression "-(int)lVar45" (- "-") (cast_expression "(int)lVar45" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar45")))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" (identifier "local_b4") (= "=") (identifier "lVar44")) (; ";")) (if_statement "if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;" (if "if") (parenthesized_expression "((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U))" (( "(") (binary_expression "(undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)" (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2")) (< "<") (cast_expression "(undefined *)((int)ppppppuVar31 + 3U)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuVar31 + 3U)" (( "(") (binary_expression "(int)ppppppuVar31 + 3U" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "3U")) () ")")))) () ")")) (goto_statement "goto LAB_0008aab8;" (goto "goto") (statement_identifier "LAB_0008aab8") (; ";"))) (labeled_statement "LAB_0008aa48:\n          unaff_EBX = (undefined4 *******)local_ac;" (statement_identifier "LAB_0008aa48") (: ":") (expression_statement "unaff_EBX = (undefined4 *******)local_ac;" (assignment_expression "unaff_EBX = (undefined4 *******)local_ac" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";"))) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8aa5c" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8aa5c")) (; ";")) (expression_statement "lVar44 = FUN_0015c5c0();" (assignment_expression "lVar44 = FUN_0015c5c0()" (identifier "lVar44") (= "=") (call_expression "FUN_0015c5c0()" (identifier "FUN_0015c5c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_b4 = lVar44 + local_b4;" (assignment_expression "local_b4 = lVar44 + local_b4" (identifier "local_b4") (= "=") (binary_expression "lVar44 + local_b4" (identifier "lVar44") (+ "+") (identifier "local_b4"))) (; ";")) (} "}")))) (expression_statement "local_a8 = local_a8 + 6;" (assignment_expression "local_a8 = local_a8 + 6" (identifier "local_a8") (= "=") (binary_expression "local_a8 + 6" (identifier "local_a8") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" (identifier "lVar44") (= "=") (identifier "local_b4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 ******)local_bc[0x1c] != local_a8)" (( "(") (binary_expression "(undefined4 ******)local_bc[0x1c] != local_a8" (cast_expression "(undefined4 ******)local_bc[0x1c]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_bc[0x1c]" (identifier "local_bc") ([ "[") (number_literal "0x1c") (] "]"))) (!= "!=") (identifier "local_a8")) () ")")) (; ";")) (} "}"))) (expression_statement "*(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;" (assignment_expression "*(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb" (pointer_expression "*(byte *)((int)local_bc + 0x92)" (* "*") (cast_expression "(byte *)((int)local_bc + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_bc + 0x92)" (( "(") (binary_expression "(int)local_bc + 0x92" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (number_literal "0x92")) () ")")))) (= "=") (binary_expression "*(byte *)((int)local_bc + 0x92) & 0xfb" (pointer_expression "*(byte *)((int)local_bc + 0x92)" (* "*") (cast_expression "(byte *)((int)local_bc + 0x92)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_bc + 0x92)" (( "(") (binary_expression "(int)local_bc + 0x92" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (number_literal "0x92")) () ")")))) (& "&") (number_literal "0xfb"))) (; ";")) (expression_statement "local_e4 = (undefined4 ******)*local_e4;" (assignment_expression "local_e4 = (undefined4 ******)*local_e4" (identifier "local_e4") (= "=") (cast_expression "(undefined4 ******)*local_e4" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_e4" (* "*") (identifier "local_e4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *******)local_e4 != (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_e4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_e4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_e4")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "local_e4 = (undefined4 *******)0x0;" (assignment_expression "local_e4 = (undefined4 *******)0x0" (identifier "local_e4") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";")) (goto_statement "goto joined_r0x0008acfa;" (goto "goto") (statement_identifier "joined_r0x0008acfa") (; ";")) (labeled_statement "LAB_00089528:\n  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" (statement_identifier "LAB_00089528") (: ":") (if_statement "if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" (if "if") (parenthesized_expression "(piVar13 + -1 != *(int **)(param_1 + 0x50))" (( "(") (binary_expression "piVar13 + -1 != *(int **)(param_1 + 0x50)" (binary_expression "piVar13 + -1" (identifier "piVar13") (+ "+") (number_literal "-1")) (!= "!=") (pointer_expression "*(int **)(param_1 + 0x50)" (* "*") (cast_expression "(int **)(param_1 + 0x50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (compound_statement "{\n    iVar19 = piVar13[-1];\n    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);\n    pppppuVar26 = (*unaff_EBX)[2];\n    local_c4 = unaff_EBX;\n    if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }\n    goto LAB_0008c0b4;\n  }" ({ "{") (expression_statement "iVar19 = piVar13[-1];" (assignment_expression "iVar19 = piVar13[-1]" (identifier "iVar19") (= "=") (subscript_expression "piVar13[-1]" (identifier "piVar13") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)(local_ac + 0x13a);" (assignment_expression "unaff_EBX = (undefined4 *******)(local_ac + 0x13a)" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)(local_ac + 0x13a)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + 0x13a)" (( "(") (binary_expression "local_ac + 0x13a" (identifier "local_ac") (+ "+") (number_literal "0x13a")) () ")")))) (; ";")) (expression_statement "pppppuVar26 = (*unaff_EBX)[2];" (assignment_expression "pppppuVar26 = (*unaff_EBX)[2]" (identifier "pppppuVar26") (= "=") (subscript_expression "(*unaff_EBX)[2]" (parenthesized_expression "(*unaff_EBX)" (( "(") (pointer_expression "*unaff_EBX" (* "*") (identifier "unaff_EBX")) () ")")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_c4 = unaff_EBX;" (assignment_expression "local_c4 = unaff_EBX" (identifier "local_c4") (= "=") (identifier "unaff_EBX")) (; ";")) (if_statement "if (pppppuVar26 != (undefined4 *****)0x0) {\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }" (if "if") (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 != (undefined4 *****)0x0" (identifier "pppppuVar26") (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);\n      local_a8 = unaff_EBX;\n      do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);\n    }" ({ "{") (expression_statement "local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);" (assignment_expression "local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9)" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)(local_ac + -0x474c9)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(local_ac + -0x474c9)" (( "(") (binary_expression "local_ac + -0x474c9" (identifier "local_ac") (+ "+") (number_literal "-0x474c9")) () ")")))) (; ";")) (expression_statement "local_a8 = unaff_EBX;" (assignment_expression "local_a8 = unaff_EBX" (identifier "local_a8") (= "=") (identifier "unaff_EBX")) (; ";")) (do_statement "do {\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      } while (pppppuVar26 != (undefined4 *****)0x0);" (do "do") (compound_statement "{\n        ppppppuVar31 = local_ac;\n        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }\n        if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }\n        iVar19 = *piVar13;\n        piVar13 = piVar13 + 1;\n        pppppuVar26 = (undefined4 *****)(*local_a8)[2];\n      }" ({ "{") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           ) {\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }" (if "if") (parenthesized_expression "(((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)\n           )" (( "(") (binary_expression "((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&\n           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)" (parenthesized_expression "((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0))" (( "(") (binary_expression "(*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&\n            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)" (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x2105) != '\0')" (( "(") (binary_expression "*(char *)((int)pppppuVar26 + 0x2105) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x2105)" (* "*") (cast_expression "(char *)((int)pppppuVar26 + 0x2105)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x2105)" (( "(") (binary_expression "(int)pppppuVar26 + 0x2105" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x2105")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0" (pointer_expression "*(int *)(*(int *)(iVar19 + 0x34) + 0x28)" (* "*") (cast_expression "(int *)(*(int *)(iVar19 + 0x34) + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar19 + 0x34) + 0x28)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) + 0x28" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0" (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c)" (binary_expression "*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74)" (pointer_expression "*(int *)(iVar19 + 0x7c)" (* "*") (cast_expression "(int *)(iVar19 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x7c)" (( "(") (binary_expression "iVar19 + 0x7c" (identifier "iVar19") (+ "+") (number_literal "0x7c")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar19 + 0x74)" (* "*") (cast_expression "(int *)(iVar19 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x74)" (( "(") (binary_expression "iVar19 + 0x74" (identifier "iVar19") (+ "+") (number_literal "0x74")) () ")"))))) (+ "+") (binary_expression "(uint)*(byte *)(iVar19 + 0x8c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar19 + 0x8c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x8c)" (( "(") (binary_expression "iVar19 + 0x8c" (identifier "iVar19") (+ "+") (number_literal "0x8c")) () ")"))))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          puVar21 = (undefined2 *)(iVar19 + 0xa5);\n          *(undefined4 *)(iVar19 + 0x9c) = 0;\n          *(undefined4 *)(iVar19 + 0xa0) = 0;\n          *(undefined1 *)(iVar19 + 0xa4) = 0;\n          uVar39 = *(uint *)(iVar19 + 0x94);\n          if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }\n          iVar22 = (int)puVar21 - (iVar19 + 0x9c);\n          *(int *)(iVar19 + 0x98) = iVar22;\n          *(int *)(puVar35 + -0xc) = iVar22;\n          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;\n          *(undefined4 *)(puVar35 + -0x14) = 0xc;\n          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;\n          *(int *)(puVar35 + -0x1c) = iVar19;\n          *(undefined4 *)(puVar35 + -0x20) = param_5;\n          *(undefined4 *)(puVar35 + -0x24) = 0x89654;\n          FUN_00111200();\n          unaff_EBX = (undefined4 *******)ppppppuVar31;\n        }" ({ "{") (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa5);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa5)" (identifier "puVar21") (= "=") (cast_expression "(undefined2 *)(iVar19 + 0xa5)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa5)" (( "(") (binary_expression "iVar19 + 0xa5" (identifier "iVar19") (+ "+") (number_literal "0xa5")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x9c) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x9c) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x9c)" (( "(") (binary_expression "iVar19 + 0x9c" (identifier "iVar19") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0xa0) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0xa0) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa0)" (( "(") (binary_expression "iVar19 + 0xa0" (identifier "iVar19") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(iVar19 + 0xa4) = 0;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa4) = 0" (pointer_expression "*(undefined1 *)(iVar19 + 0xa4)" (* "*") (cast_expression "(undefined1 *)(iVar19 + 0xa4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa4)" (( "(") (binary_expression "iVar19 + 0xa4" (identifier "iVar19") (+ "+") (number_literal "0xa4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar39 = *(uint *)(iVar19 + 0x94);" (assignment_expression "uVar39 = *(uint *)(iVar19 + 0x94)" (identifier "uVar39") (= "=") (pointer_expression "*(uint *)(iVar19 + 0x94)" (* "*") (cast_expression "(uint *)(iVar19 + 0x94)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x94)" (( "(") (binary_expression "iVar19 + 0x94" (identifier "iVar19") (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (if_statement "if (uVar39 != 0xffffffff) {\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }" (if "if") (parenthesized_expression "(uVar39 != 0xffffffff)" (( "(") (binary_expression "uVar39 != 0xffffffff" (identifier "uVar39") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            uVar20 = uVar39 >> 2;\n            if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }\n            *puVar21 = 0x4111;\n            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);\n            *(undefined2 *)((int)puVar21 + 3) = 0x644;\n            *(undefined1 *)((int)puVar21 + 5) = 0x41;\n            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;\n            puVar21 = puVar21 + 3;\n          }" ({ "{") (expression_statement "uVar20 = uVar39 >> 2;" (assignment_expression "uVar20 = uVar39 >> 2" (identifier "uVar20") (= "=") (binary_expression "uVar39 >> 2" (identifier "uVar39") (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar39 < 0x100) {\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }\n            else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" (if "if") (parenthesized_expression "(uVar39 < 0x100)" (( "(") (binary_expression "uVar39 < 0x100" (identifier "uVar39") (< "<") (number_literal "0x100")) () ")")) (compound_statement "{\n              puVar21 = (undefined2 *)(iVar19 + 0xa6);\n              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';\n            }" ({ "{") (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa6);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa6)" (identifier "puVar21") (= "=") (cast_expression "(undefined2 *)(iVar19 + 0xa6)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa6)" (( "(") (binary_expression "iVar19 + 0xa6" (identifier "iVar19") (+ "+") (number_literal "0xa6")) () ")")))) (; ";")) (expression_statement "*(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';" (assignment_expression "*(char *)(iVar19 + 0xa5) = (char)uVar20 + '@'" (pointer_expression "*(char *)(iVar19 + 0xa5)" (* "*") (cast_expression "(char *)(iVar19 + 0xa5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa5)" (( "(") (binary_expression "iVar19 + 0xa5" (identifier "iVar19") (+ "+") (number_literal "0xa5")) () ")")))) (= "=") (binary_expression "(char)uVar20 + '@'" (cast_expression "(char)uVar20" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar20")) (+ "+") (char_literal "'@'" (' "'") (character "@") (' "'")))) (; ";")) (} "}")) (else_clause "else if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" (else "else") (if_statement "if (uVar39 < 0x400) {\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }\n            else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" (if "if") (parenthesized_expression "(uVar39 < 0x400)" (( "(") (binary_expression "uVar39 < 0x400" (identifier "uVar39") (< "<") (number_literal "0x400")) () ")")) (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 2;\n              puVar21 = (undefined2 *)(iVar19 + 0xa7);\n              *(char *)(iVar19 + 0xa6) = (char)uVar20;\n            }" ({ "{") (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 2;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 2" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" (* "*") (cast_expression "(undefined1 *)(iVar19 + 0xa5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa5)" (( "(") (binary_expression "iVar19 + 0xa5" (identifier "iVar19") (+ "+") (number_literal "0xa5")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa7);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa7)" (identifier "puVar21") (= "=") (cast_expression "(undefined2 *)(iVar19 + 0xa7)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa7)" (( "(") (binary_expression "iVar19 + 0xa7" (identifier "iVar19") (+ "+") (number_literal "0xa7")) () ")")))) (; ";")) (expression_statement "*(char *)(iVar19 + 0xa6) = (char)uVar20;" (assignment_expression "*(char *)(iVar19 + 0xa6) = (char)uVar20" (pointer_expression "*(char *)(iVar19 + 0xa6)" (* "*") (cast_expression "(char *)(iVar19 + 0xa6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa6)" (( "(") (binary_expression "iVar19 + 0xa6" (identifier "iVar19") (+ "+") (number_literal "0xa6")) () ")")))) (= "=") (cast_expression "(char)uVar20" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar20"))) (; ";")) (} "}")) (else_clause "else if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" (else "else") (if_statement "if (uVar39 < 0x40000) {\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }\n            else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" (if "if") (parenthesized_expression "(uVar39 < 0x40000)" (( "(") (binary_expression "uVar39 < 0x40000" (identifier "uVar39") (< "<") (number_literal "0x40000")) () ")")) (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 3;\n              puVar21 = (undefined2 *)(iVar19 + 0xa8);\n              *(short *)(iVar19 + 0xa6) = (short)uVar20;\n            }" ({ "{") (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 3;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 3" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" (* "*") (cast_expression "(undefined1 *)(iVar19 + 0xa5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa5)" (( "(") (binary_expression "iVar19 + 0xa5" (identifier "iVar19") (+ "+") (number_literal "0xa5")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xa8);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xa8)" (identifier "puVar21") (= "=") (cast_expression "(undefined2 *)(iVar19 + 0xa8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa8)" (( "(") (binary_expression "iVar19 + 0xa8" (identifier "iVar19") (+ "+") (number_literal "0xa8")) () ")")))) (; ";")) (expression_statement "*(short *)(iVar19 + 0xa6) = (short)uVar20;" (assignment_expression "*(short *)(iVar19 + 0xa6) = (short)uVar20" (pointer_expression "*(short *)(iVar19 + 0xa6)" (* "*") (cast_expression "(short *)(iVar19 + 0xa6)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa6)" (( "(") (binary_expression "iVar19 + 0xa6" (identifier "iVar19") (+ "+") (number_literal "0xa6")) () ")")))) (= "=") (cast_expression "(short)uVar20" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar20"))) (; ";")) (} "}")) (else_clause "else {\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" (else "else") (compound_statement "{\n              *(undefined1 *)(iVar19 + 0xa5) = 4;\n              puVar21 = (undefined2 *)(iVar19 + 0xaa);\n              *(uint *)(iVar19 + 0xa6) = uVar20;\n            }" ({ "{") (expression_statement "*(undefined1 *)(iVar19 + 0xa5) = 4;" (assignment_expression "*(undefined1 *)(iVar19 + 0xa5) = 4" (pointer_expression "*(undefined1 *)(iVar19 + 0xa5)" (* "*") (cast_expression "(undefined1 *)(iVar19 + 0xa5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa5)" (( "(") (binary_expression "iVar19 + 0xa5" (identifier "iVar19") (+ "+") (number_literal "0xa5")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "puVar21 = (undefined2 *)(iVar19 + 0xaa);" (assignment_expression "puVar21 = (undefined2 *)(iVar19 + 0xaa)" (identifier "puVar21") (= "=") (cast_expression "(undefined2 *)(iVar19 + 0xaa)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xaa)" (( "(") (binary_expression "iVar19 + 0xaa" (identifier "iVar19") (+ "+") (number_literal "0xaa")) () ")")))) (; ";")) (expression_statement "*(uint *)(iVar19 + 0xa6) = uVar20;" (assignment_expression "*(uint *)(iVar19 + 0xa6) = uVar20" (pointer_expression "*(uint *)(iVar19 + 0xa6)" (* "*") (cast_expression "(uint *)(iVar19 + 0xa6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xa6)" (( "(") (binary_expression "iVar19 + 0xa6" (identifier "iVar19") (+ "+") (number_literal "0xa6")) () ")")))) (= "=") (identifier "uVar20")) (; ";")) (} "}")))))))) (expression_statement "*puVar21 = 0x4111;" (assignment_expression "*puVar21 = 0x4111" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (number_literal "0x4111")) (; ";")) (expression_statement "uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);" (assignment_expression "uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8)" (identifier "uVar39") (= "=") (pointer_expression "*(uint *)(*(int *)(iVar19 + 0x34) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(iVar19 + 0x34) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar19 + 0x34) + 8)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) + 8" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined2 *)((int)puVar21 + 3) = 0x644;" (assignment_expression "*(undefined2 *)((int)puVar21 + 3) = 0x644" (pointer_expression "*(undefined2 *)((int)puVar21 + 3)" (* "*") (cast_expression "(undefined2 *)((int)puVar21 + 3)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 3)" (( "(") (binary_expression "(int)puVar21 + 3" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0x644")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar21 + 5) = 0x41;" (assignment_expression "*(undefined1 *)((int)puVar21 + 5) = 0x41" (pointer_expression "*(undefined1 *)((int)puVar21 + 5)" (* "*") (cast_expression "(undefined1 *)((int)puVar21 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 5)" (( "(") (binary_expression "(int)puVar21 + 5" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "0x41")) (; ";")) (expression_statement "*(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;" (assignment_expression "*(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f" (pointer_expression "*(byte *)(puVar21 + 1)" (* "*") (cast_expression "(byte *)(puVar21 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 1)" (( "(") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "(-((uVar39 & 2) == 0) & 0xfdU) + 0x7f" (parenthesized_expression "(-((uVar39 & 2) == 0) & 0xfdU)" (( "(") (binary_expression "-((uVar39 & 2) == 0) & 0xfdU" (unary_expression "-((uVar39 & 2) == 0)" (- "-") (parenthesized_expression "((uVar39 & 2) == 0)" (( "(") (binary_expression "(uVar39 & 2) == 0" (parenthesized_expression "(uVar39 & 2)" (( "(") (binary_expression "uVar39 & 2" (identifier "uVar39") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) (& "&") (number_literal "0xfdU")) () ")")) (+ "+") (number_literal "0x7f"))) (; ";")) (expression_statement "puVar21 = puVar21 + 3;" (assignment_expression "puVar21 = puVar21 + 3" (identifier "puVar21") (= "=") (binary_expression "puVar21 + 3" (identifier "puVar21") (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (expression_statement "iVar22 = (int)puVar21 - (iVar19 + 0x9c);" (assignment_expression "iVar22 = (int)puVar21 - (iVar19 + 0x9c)" (identifier "iVar22") (= "=") (binary_expression "(int)puVar21 - (iVar19 + 0x9c)" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (- "-") (parenthesized_expression "(iVar19 + 0x9c)" (( "(") (binary_expression "iVar19 + 0x9c" (identifier "iVar19") (+ "+") (number_literal "0x9c")) () ")")))) (; ";")) (expression_statement "*(int *)(iVar19 + 0x98) = iVar22;" (assignment_expression "*(int *)(iVar19 + 0x98) = iVar22" (pointer_expression "*(int *)(iVar19 + 0x98)" (* "*") (cast_expression "(int *)(iVar19 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x98)" (( "(") (binary_expression "iVar19 + 0x98" (identifier "iVar19") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (expression_statement "*(int *)(puVar35 + -0xc) = iVar22;" (assignment_expression "*(int *)(puVar35 + -0xc) = iVar22" (pointer_expression "*(int *)(puVar35 + -0xc)" (* "*") (cast_expression "(int *)(puVar35 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = iVar19 + 0x9c;" (assignment_expression "*(int *)(puVar35 + -0x10) = iVar19 + 0x9c" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "iVar19 + 0x9c" (identifier "iVar19") (+ "+") (number_literal "0x9c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0xc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0xc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4" (pointer_expression "*(undefined4 ********)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "*(int *)(puVar35 + -0x1c) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x1c) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x1c)" (* "*") (cast_expression "(int *)(puVar35 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = param_5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = param_5" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x89654;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x89654" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x89654")) (; ";")) (expression_statement "FUN_00111200();" (call_expression "FUN_00111200()" (identifier "FUN_00111200") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_EBX = (undefined4 *******)ppppppuVar31;" (assignment_expression "unaff_EBX = (undefined4 *******)ppppppuVar31" (identifier "unaff_EBX") (= "=") (cast_expression "(undefined4 *******)ppppppuVar31" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuVar31"))) (; ";")) (} "}"))) (if_statement "if (*(int **)(param_1 + 0x50) == piVar13) {\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }" (if "if") (parenthesized_expression "(*(int **)(param_1 + 0x50) == piVar13)" (( "(") (binary_expression "*(int **)(param_1 + 0x50) == piVar13" (pointer_expression "*(int **)(param_1 + 0x50)" (* "*") (cast_expression "(int **)(param_1 + 0x50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (== "==") (identifier "piVar13")) () ")")) (compound_statement "{\n          local_5c._4_4_ = (undefined4 *******)0x1;\n          local_54 = (undefined4 *******)0x0;\n          piVar40 = *(int **)(param_1 + 0x4c);\n          local_5c._0_4_ = (undefined4 *******)&local_44;\n          local_50 = 0;\n          local_10c = (undefined4 ******)&local_5c;\n          local_4c = 0x3f800000;\n          local_48 = 0;\n          local_44 = 0;\n          if (piVar40 == piVar13) goto LAB_0008a7bd;\n          local_bc = local_ac + -0xdbefc;\n          goto LAB_00089744;\n        }" ({ "{") (expression_statement "local_5c._4_4_ = (undefined4 *******)0x1;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)0x1" (field_expression "local_5c._4_4_" (identifier "local_5c") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *******)0x1" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_54 = (undefined4 *******)0x0;" (assignment_expression "local_54 = (undefined4 *******)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar40 = *(int **)(param_1 + 0x4c);" (assignment_expression "piVar40 = *(int **)(param_1 + 0x4c)" (identifier "piVar40") (= "=") (pointer_expression "*(int **)(param_1 + 0x4c)" (* "*") (cast_expression "(int **)(param_1 + 0x4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "local_5c._0_4_ = (undefined4 *******)&local_44;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)&local_44" (field_expression "local_5c._0_4_" (identifier "local_5c") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)&local_44" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44")))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_10c = (undefined4 ******)&local_5c;" (assignment_expression "local_10c = (undefined4 ******)&local_5c" (identifier "local_10c") (= "=") (cast_expression "(undefined4 ******)&local_5c" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")))) (; ";")) (expression_statement "local_4c = 0x3f800000;" (assignment_expression "local_4c = 0x3f800000" (identifier "local_4c") (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar40 == piVar13) goto LAB_0008a7bd;" (if "if") (parenthesized_expression "(piVar40 == piVar13)" (( "(") (binary_expression "piVar40 == piVar13" (identifier "piVar40") (== "==") (identifier "piVar13")) () ")")) (goto_statement "goto LAB_0008a7bd;" (goto "goto") (statement_identifier "LAB_0008a7bd") (; ";"))) (expression_statement "local_bc = local_ac + -0xdbefc;" (assignment_expression "local_bc = local_ac + -0xdbefc" (identifier "local_bc") (= "=") (binary_expression "local_ac + -0xdbefc" (identifier "local_ac") (+ "+") (number_literal "-0xdbefc"))) (; ";")) (goto_statement "goto LAB_00089744;" (goto "goto") (statement_identifier "LAB_00089744") (; ";")) (} "}"))) (expression_statement "iVar19 = *piVar13;" (assignment_expression "iVar19 = *piVar13" (identifier "iVar19") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_a8)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_a8)[2]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_a8)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_a8)[2]" (parenthesized_expression "(*local_a8)" (( "(") (pointer_expression "*local_a8" (* "*") (identifier "local_a8")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppuVar26 != (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 != (undefined4 *****)0x0" (identifier "pppppuVar26") (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0008c0b4;" (goto "goto") (statement_identifier "LAB_0008c0b4") (; ";")) (} "}")))) (labeled_statement "LAB_0008a784:\n  local_5c._0_4_ = (undefined4 *******)&local_44;" (statement_identifier "LAB_0008a784") (: ":") (expression_statement "local_5c._0_4_ = (undefined4 *******)&local_44;" (assignment_expression "local_5c._0_4_ = (undefined4 *******)&local_44" (field_expression "local_5c._0_4_" (identifier "local_5c") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)&local_44" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44")))) (; ";"))) (expression_statement "local_5c._4_4_ = (undefined4 *******)0x1;" (assignment_expression "local_5c._4_4_ = (undefined4 *******)0x1" (field_expression "local_5c._4_4_" (identifier "local_5c") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *******)0x1" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_10c = (undefined4 ******)&local_5c;" (assignment_expression "local_10c = (undefined4 ******)&local_5c" (identifier "local_10c") (= "=") (cast_expression "(undefined4 ******)&local_5c" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")))) (; ";")) (expression_statement "local_54 = (undefined4 *******)0x0;" (assignment_expression "local_54 = (undefined4 *******)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = 0x3f800000;" (assignment_expression "local_4c = 0x3f800000" (identifier "local_4c") (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0008a7bd:\n  pppppppuVar10 = (undefined4 *******)local_ac;" (statement_identifier "LAB_0008a7bd") (: ":") (expression_statement "pppppppuVar10 = (undefined4 *******)local_ac;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_ac" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_ac" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_ac"))) (; ";"))) (labeled_statement "joined_r0x0008acfa:\n  local_ac = pppppppuVar10;" (statement_identifier "joined_r0x0008acfa") (: ":") (expression_statement "local_ac = pppppppuVar10;" (assignment_expression "local_ac = pppppppuVar10" (identifier "local_ac") (= "=") (identifier "pppppppuVar10")) (; ";"))) (if_statement "if ((char)local_fc != '\0') goto LAB_0008ad00;" (if "if") (parenthesized_expression "((char)local_fc != '\0')" (( "(") (binary_expression "(char)local_fc != '\0'" (cast_expression "(char)local_fc" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_fc")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008ad00;" (goto "goto") (statement_identifier "LAB_0008ad00") (; ";"))) (if_statement "if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }\n  else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" (if "if") (parenthesized_expression "((undefined4 *******)local_f4 == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_f4 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_f4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_f4")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((char)local_fc != '\0') goto LAB_0008ad00;\n    local_c4 = pppppppuVar10 + 0x13a;\nLAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }\n  }" ({ "{") (if_statement "if ((char)local_fc != '\0') goto LAB_0008ad00;" (if "if") (parenthesized_expression "((char)local_fc != '\0')" (( "(") (binary_expression "(char)local_fc != '\0'" (cast_expression "(char)local_fc" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_fc")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008ad00;" (goto "goto") (statement_identifier "LAB_0008ad00") (; ";"))) (expression_statement "local_c4 = pppppppuVar10 + 0x13a;" (assignment_expression "local_c4 = pppppppuVar10 + 0x13a" (identifier "local_c4") (= "=") (binary_expression "pppppppuVar10 + 0x13a" (identifier "pppppppuVar10") (+ "+") (number_literal "0x13a"))) (; ";")) (labeled_statement "LAB_0008af56:\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (statement_identifier "LAB_0008af56") (: ":") (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";"))) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;\n      FUN_000da200();\n    }" ({ "{") (expression_statement "*(undefined4 ********)(puVar35 + -4) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -4) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "unaff_EBX")) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47716" (identifier "local_ac") (+ "+") (number_literal "-0x47716"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008c216;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008c216" (pointer_expression "*(undefined **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008c216" (& "&") (identifier "UNK_0008c216"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" (else "else") (compound_statement "{\n    local_c4 = pppppppuVar10 + 0x13a;\n    pppppuVar26 = (undefined4 *****)(*local_c4)[2];\n    if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }\n    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }\n  }" ({ "{") (expression_statement "local_c4 = pppppppuVar10 + 0x13a;" (assignment_expression "local_c4 = pppppppuVar10 + 0x13a" (identifier "local_c4") (= "=") (binary_expression "pppppppuVar10 + 0x13a" (identifier "pppppppuVar10") (+ "+") (number_literal "0x13a"))) (; ";")) (expression_statement "pppppuVar26 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar26 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar26") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar35 + -4) = 0;\n      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;\n      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;\n                    \n                    \n      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;\n      FUN_000da200();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar35 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;" (assignment_expression "*(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716" (pointer_expression "*(undefined4 ********)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "pppppppuVar10 + -0x47716" (identifier "pppppppuVar10") (+ "+") (number_literal "-0x47716"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)pppppppuVar10 + -0x131d93" (cast_expression "(int)pppppppuVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar10")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c376;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c376" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c376")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }" (if "if") (parenthesized_expression "((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0'))" (( "(") (binary_expression "(*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||\n       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)((int)pppppuVar26 + 0x1a25) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x1a25)" (* "*") (cast_expression "(char *)((int)pppppuVar26 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x1a25)" (( "(") (binary_expression "(int)pppppuVar26 + 0x1a25" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x2931) != '\0')" (( "(") (binary_expression "*(char *)((int)pppppuVar26 + 0x2931) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x2931)" (* "*") (cast_expression "(char *)((int)pppppuVar26 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x2931)" (( "(") (binary_expression "(int)pppppuVar26 + 0x2931" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      iVar19 = *(int *)(param_1 + 0x24);\n      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }\n      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }\n      piVar13 = *(int **)(param_1 + 0x60);\n      if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }\n      ppppppuVar31 = local_ac;\n      bVar42 = *(byte *)(iVar19 + 0x1c);\n      if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }\n      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);\n      if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }\n      goto LAB_0008af56;\n    }" ({ "{") (expression_statement "iVar19 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x24)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }" (if "if") (parenthesized_expression "((*(byte *)(iVar19 + 0x1c) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(iVar19 + 0x1c) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar19 + 0x1c) & 8)" (( "(") (binary_expression "*(byte *)(iVar19 + 0x1c) & 8" (pointer_expression "*(byte *)(iVar19 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar19 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;\n      }" ({ "{") (expression_statement "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar19 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar19 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar19 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar19 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar19 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "0xfd"))) (; ";")) (} "}"))) (expression_statement "local_a8 = *(undefined4 *******)(iVar19 + 0x2c);" (assignment_expression "local_a8 = *(undefined4 *******)(iVar19 + 0x2c)" (identifier "local_a8") (= "=") (pointer_expression "*(undefined4 *******)(iVar19 + 0x2c)" (* "*") (cast_expression "(undefined4 *******)(iVar19 + 0x2c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }" (if "if") (parenthesized_expression "((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0" (parenthesized_expression "(*(byte *)((undefined4 *******)local_a8 + 7) & 8)" (( "(") (binary_expression "*(byte *)((undefined4 *******)local_a8 + 7) & 8" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" (* "*") (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((undefined4 *******)local_a8 + 7)" (( "(") (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;\n      }" ({ "{") (expression_statement "*(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;" (assignment_expression "*(byte *)((undefined4 *******)local_a8 + 7) =\n             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" (* "*") (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((undefined4 *******)local_a8 + 7)" (( "(") (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)((undefined4 *******)local_a8 + 7) & 0xfd" (pointer_expression "*(byte *)((undefined4 *******)local_a8 + 7)" (* "*") (cast_expression "(byte *)((undefined4 *******)local_a8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((undefined4 *******)local_a8 + 7)" (( "(") (binary_expression "(undefined4 *******)local_a8 + 7" (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xfd"))) (; ";")) (} "}"))) (expression_statement "piVar13 = *(int **)(param_1 + 0x60);" (assignment_expression "piVar13 = *(int **)(param_1 + 0x60)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(param_1 + 0x60)" (* "*") (cast_expression "(int **)(param_1 + 0x60)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (if_statement "if (piVar13 != (int *)0x0) {\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }" (if "if") (parenthesized_expression "(piVar13 != (int *)0x0)" (( "(") (binary_expression "piVar13 != (int *)0x0" (identifier "piVar13") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_bc = &local_40;\n        while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }\n      }" ({ "{") (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" (identifier "local_bc") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (while_statement "while( true ) {\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          local_b4._0_4_ = (undefined4 *******)piVar13[1];\n          local_b4._4_4_ = (undefined4 *****)piVar13[2];\n          iVar22 = piVar13[3];\n          *(undefined4 *)(puVar35 + -0xc) = 1;\n          *(undefined4 *)(puVar35 + -0x10) = 0;\n          *(int *)(puVar35 + -0x14) = iVar22;\n          *(int *)(puVar35 + -0x18) = iVar19;\n          *(undefined4 *)(puVar35 + -0x1c) = 0x16;\n          *(undefined4 *******)(puVar35 + -0x20) = local_bc;\n          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;\n          FUN_0016dd00();\n          ppppppuVar11 = local_a8;\n          local_24 = (undefined4 *******)local_b4;\n          local_20 = local_b4._4_4_;\n          ppppppuVar31 = (undefined4 ******)local_a8[0xe];\n          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }\n          ppppppuVar31 = local_ac;\n          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;\n          iVar12 = iVar22 * 0x38e38e39;\n          if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }\n          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);\n          local_a8[4] = (undefined4 ******)0x0;\n          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;\n          if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }\n          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }\n          piVar13 = (int *)*piVar13;\n          iVar19 = *(int *)(param_1 + 0x24);\n          if (piVar13 == (int *)0x0) break;\n          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);\n        }" ({ "{") (expression_statement "local_b4._0_4_ = (undefined4 *******)piVar13[1];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)piVar13[1]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)piVar13[1]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "piVar13[1]" (identifier "piVar13") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_b4._4_4_ = (undefined4 *****)piVar13[2];" (assignment_expression "local_b4._4_4_ = (undefined4 *****)piVar13[2]" (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)piVar13[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar13[2]" (identifier "piVar13") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "iVar22 = piVar13[3];" (assignment_expression "iVar22 = piVar13[3]" (identifier "iVar22") (= "=") (subscript_expression "piVar13[3]" (identifier "piVar13") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x14) = iVar22;" (assignment_expression "*(int *)(puVar35 + -0x14) = iVar22" (pointer_expression "*(int *)(puVar35 + -0x14)" (* "*") (cast_expression "(int *)(puVar35 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x18) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x18) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x18)" (* "*") (cast_expression "(int *)(puVar35 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0x16;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0x16" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x16")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x20) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x20) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8a935;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8a935" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8a935")) (; ";")) (expression_statement "FUN_0016dd00();" (call_expression "FUN_0016dd00()" (identifier "FUN_0016dd00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" (identifier "ppppppuVar11") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "local_24 = (undefined4 *******)local_b4;" (assignment_expression "local_24 = (undefined4 *******)local_b4" (identifier "local_24") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "local_20 = local_b4._4_4_;" (assignment_expression "local_20 = local_b4._4_4_" (identifier "local_20") (= "=") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[0xe];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[0xe]" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)local_a8[0xe]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0xe]" (identifier "local_a8") ([ "[") (number_literal "0xe") (] "]")))) (; ";")) (if_statement "if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }\n          else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" (if "if") (parenthesized_expression "(ppppppuVar31 == (undefined4 ******)local_a8[0xf])" (( "(") (binary_expression "ppppppuVar31 == (undefined4 ******)local_a8[0xf]" (identifier "ppppppuVar31") (== "==") (cast_expression "(undefined4 ******)local_a8[0xf]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0xf]" (identifier "local_a8") ([ "[") (number_literal "0xf") (] "]")))) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -8) = local_bc;\n            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;\n            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;\n            FUN_000ad050();\n            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar11 + 0xd" (identifier "ppppppuVar11") (+ "+") (number_literal "0xd"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8a975;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8a975" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8a975")) (; ";")) (expression_statement "FUN_000ad050();" (call_expression "FUN_000ad050()" (identifier "FUN_000ad050") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];" (assignment_expression "ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)ppppppuVar11[0xe]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppuVar11[0xe]" (identifier "ppppppuVar11") ([ "[") (number_literal "0xe") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" (else "else") (compound_statement "{\n            ppppppuVar11 = ppppppuVar31 + 9;\n            *ppppppuVar31 = local_40;\n            ppppppuVar31[1] = local_3c;\n            ppppppuVar31[2] = local_38;\n            ppppppuVar31[3] = local_34;\n            ppppppuVar31[4] = local_30;\n            ppppppuVar31[5] = local_2c;\n            ppppppuVar31[6] = (undefined4 *****)local_28;\n            ppppppuVar31[7] = (undefined4 *******)local_b4;\n            ppppppuVar31[8] = local_b4._4_4_;\n            local_a8[0xe] = ppppppuVar11;\n          }" ({ "{") (expression_statement "ppppppuVar11 = ppppppuVar31 + 9;" (assignment_expression "ppppppuVar11 = ppppppuVar31 + 9" (identifier "ppppppuVar11") (= "=") (binary_expression "ppppppuVar31 + 9" (identifier "ppppppuVar31") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "*ppppppuVar31 = local_40;" (assignment_expression "*ppppppuVar31 = local_40" (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "ppppppuVar31[1] = local_3c;" (assignment_expression "ppppppuVar31[1] = local_3c" (subscript_expression "ppppppuVar31[1]" (identifier "ppppppuVar31") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "ppppppuVar31[2] = local_38;" (assignment_expression "ppppppuVar31[2] = local_38" (subscript_expression "ppppppuVar31[2]" (identifier "ppppppuVar31") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "ppppppuVar31[3] = local_34;" (assignment_expression "ppppppuVar31[3] = local_34" (subscript_expression "ppppppuVar31[3]" (identifier "ppppppuVar31") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "ppppppuVar31[4] = local_30;" (assignment_expression "ppppppuVar31[4] = local_30" (subscript_expression "ppppppuVar31[4]" (identifier "ppppppuVar31") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "ppppppuVar31[5] = local_2c;" (assignment_expression "ppppppuVar31[5] = local_2c" (subscript_expression "ppppppuVar31[5]" (identifier "ppppppuVar31") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "ppppppuVar31[6] = (undefined4 *****)local_28;" (assignment_expression "ppppppuVar31[6] = (undefined4 *****)local_28" (subscript_expression "ppppppuVar31[6]" (identifier "ppppppuVar31") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined4 *****)local_28" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_28"))) (; ";")) (expression_statement "ppppppuVar31[7] = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31[7] = (undefined4 *******)local_b4" (subscript_expression "ppppppuVar31[7]" (identifier "ppppppuVar31") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "ppppppuVar31[8] = local_b4._4_4_;" (assignment_expression "ppppppuVar31[8] = local_b4._4_4_" (subscript_expression "ppppppuVar31[8]" (identifier "ppppppuVar31") ([ "[") (number_literal "8") (] "]")) (= "=") (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "local_a8[0xe] = ppppppuVar11;" (assignment_expression "local_a8[0xe] = ppppppuVar11" (subscript_expression "local_a8[0xe]" (identifier "local_a8") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "ppppppuVar11")) (; ";")) (} "}")))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;" (assignment_expression "iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2" (identifier "iVar22") (= "=") (binary_expression "(int)ppppppuVar11 - (int)local_a8[0xd] >> 2" (binary_expression "(int)ppppppuVar11 - (int)local_a8[0xd]" (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11")) (- "-") (cast_expression "(int)local_a8[0xd]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0xd]" (identifier "local_a8") ([ "[") (number_literal "0xd") (] "]")))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar12 = iVar22 * 0x38e38e39;" (assignment_expression "iVar12 = iVar22 * 0x38e38e39" (identifier "iVar12") (= "=") (binary_expression "iVar22 * 0x38e38e39" (identifier "iVar22") (* "*") (number_literal "0x38e38e39"))) (; ";")) (if_statement "if (((uint)local_a8[7] & 2) != 0) {\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(((uint)local_a8[7] & 2) != 0)" (( "(") (binary_expression "((uint)local_a8[7] & 2) != 0" (parenthesized_expression "((uint)local_a8[7] & 2)" (( "(") (binary_expression "(uint)local_a8[7] & 2" (cast_expression "(uint)local_a8[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[7]" (identifier "local_a8") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar35 + -4) = iVar12;\n            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;\n            *(undefined4 *)(puVar35 + -0xc) = 0x231;\n            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(int *)(puVar35 + -4) = iVar12;" (assignment_expression "*(int *)(puVar35 + -4) = iVar12" (pointer_expression "*(int *)(puVar35 + -4)" (* "*") (cast_expression "(int *)(puVar35 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47868" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47868"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x231;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x231" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x231")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c3da;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c3da" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c3da")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);" (assignment_expression "local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558)" (subscript_expression "local_a8[3]" (identifier "local_a8") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(undefined4 ******)(iVar22 * 0x55555558)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar22 * 0x55555558)" (( "(") (binary_expression "iVar22 * 0x55555558" (identifier "iVar22") (* "*") (number_literal "0x55555558")) () ")")))) (; ";")) (expression_statement "local_a8[4] = (undefined4 ******)0x0;" (assignment_expression "local_a8[4] = (undefined4 ******)0x0" (subscript_expression "local_a8[4]" (identifier "local_a8") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar19 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar19 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar19 + 0x1c) | 0x10" (pointer_expression "*(byte *)(iVar19 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar19 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (| "|") (number_literal "0x10"))) (; ";")) (if_statement "if (((uint)local_2c & 0x10000000) != 0) {\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }" (if "if") (parenthesized_expression "(((uint)local_2c & 0x10000000) != 0)" (( "(") (binary_expression "((uint)local_2c & 0x10000000) != 0" (parenthesized_expression "((uint)local_2c & 0x10000000)" (( "(") (binary_expression "(uint)local_2c & 0x10000000" (cast_expression "(uint)local_2c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_2c")) (& "&") (number_literal "0x10000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);\n          }" ({ "{") (expression_statement "local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);" (assignment_expression "local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1)" (subscript_expression "local_a8[0xb]" (identifier "local_a8") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)local_a8[0xb] + 1)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_a8[0xb] + 1)" (( "(") (binary_expression "(int)local_a8[0xb] + 1" (cast_expression "(int)local_a8[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0xb]" (identifier "local_a8") ([ "[") (number_literal "0xb") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }" (if "if") (parenthesized_expression "(((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0))" (( "(") (binary_expression "((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&\n             ((undefined4 *******)local_3c != (undefined4 *******)0x0)" (parenthesized_expression "((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc)" (( "(") (binary_expression "(undefined4 *****)local_28 != (undefined4 *****)0xfffffffc" (cast_expression "(undefined4 *****)local_28" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_28")) (!= "!=") (cast_expression "(undefined4 *****)0xfffffffc" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xfffffffc"))) () ")")) (&& "&&") (parenthesized_expression "((undefined4 *******)local_3c != (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_3c != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_3c" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_3c")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }\n            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);\n          }" ({ "{") (if_statement "if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }" (if "if") (parenthesized_expression "((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0)" (( "(") (binary_expression "(undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_3c[0x19]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_3c[0x19]" (identifier "local_3c") ([ "[") (number_literal "0x19") (] "]"))) (== "==") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);\n            }" ({ "{") (expression_statement "local_3c[0x18] = (undefined4 ******)(iVar12 + -1);" (assignment_expression "local_3c[0x18] = (undefined4 ******)(iVar12 + -1)" (subscript_expression "local_3c[0x18]" (identifier "local_3c") ([ "[") (number_literal "0x18") (] "]")) (= "=") (cast_expression "(undefined4 ******)(iVar12 + -1)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar12 + -1)" (( "(") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);" (assignment_expression "local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1)" (subscript_expression "local_3c[0x19]" (identifier "local_3c") ([ "[") (number_literal "0x19") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)local_3c[0x19] + 1)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)local_3c[0x19] + 1)" (( "(") (binary_expression "(int)local_3c[0x19] + 1" (cast_expression "(int)local_3c[0x19]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_3c[0x19]" (identifier "local_3c") ([ "[") (number_literal "0x19") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "piVar13 = (int *)*piVar13;" (assignment_expression "piVar13 = (int *)*piVar13" (identifier "piVar13") (= "=") (cast_expression "(int *)*piVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar13" (* "*") (identifier "piVar13")))) (; ";")) (expression_statement "iVar19 = *(int *)(param_1 + 0x24);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x24)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (piVar13 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar13 == (int *)0x0)" (( "(") (binary_expression "piVar13 == (int *)0x0" (identifier "piVar13") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_a8 = *(undefined4 *******)(iVar19 + 0x2c);" (assignment_expression "local_a8 = *(undefined4 *******)(iVar19 + 0x2c)" (identifier "local_a8") (= "=") (pointer_expression "*(undefined4 *******)(iVar19 + 0x2c)" (* "*") (cast_expression "(undefined4 *******)(iVar19 + 0x2c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "bVar42 = *(byte *)(iVar19 + 0x1c);" (assignment_expression "bVar42 = *(byte *)(iVar19 + 0x1c)" (identifier "bVar42") (= "=") (pointer_expression "*(byte *)(iVar19 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar19 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((bVar42 & 2) == 0) {\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }" (if "if") (parenthesized_expression "((bVar42 & 2) == 0)" (( "(") (binary_expression "(bVar42 & 2) == 0" (parenthesized_expression "(bVar42 & 2)" (( "(") (binary_expression "bVar42 & 2" (identifier "bVar42") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }\n        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;\n      }" ({ "{") (if_statement "if ((bVar42 & 8) != 0) {\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "((bVar42 & 8) != 0)" (( "(") (binary_expression "(bVar42 & 8) != 0" (parenthesized_expression "(bVar42 & 8)" (( "(") (binary_expression "bVar42 & 8" (identifier "bVar42") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(int **)(puVar35 + -4) = piVar13;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;\n          *(undefined4 *)(puVar35 + -0xc) = 0x218;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;\n          FUN_000da200();\n        }" ({ "{") (expression_statement "*(int **)(puVar35 + -4) = piVar13;" (assignment_expression "*(int **)(puVar35 + -4) = piVar13" (pointer_expression "*(int **)(puVar35 + -4)" (* "*") (cast_expression "(int **)(puVar35 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47840" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47840"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x218;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x218" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x218")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c265;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c265" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c265")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(byte *)(iVar19 + 0x1c) = bVar42 | 2;" (assignment_expression "*(byte *)(iVar19 + 0x1c) = bVar42 | 2" (pointer_expression "*(byte *)(iVar19 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar19 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "bVar42 | 2" (identifier "bVar42") (| "|") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);" (assignment_expression "unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c)" (identifier "unaff_EBX") (= "=") (pointer_expression "*(undefined4 ********)(iVar19 + 0x2c)" (* "*") (cast_expression "(undefined4 ********)(iVar19 + 0x2c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }" (if "if") (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" (( "(") (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" (( "(") (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "unaff_EBX[7]" (identifier "unaff_EBX") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        ppppppuVar31 = *unaff_EBX;\n        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;\n                    \n        pppppuVar26 = ppppppuVar31[0xe];\n        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;\n        (*(code *)pppppuVar26)();\n        ppppppuVar31 = local_ac;\n        if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }\n      }" ({ "{") (expression_statement "ppppppuVar31 = *unaff_EBX;" (assignment_expression "ppppppuVar31 = *unaff_EBX" (identifier "ppppppuVar31") (= "=") (pointer_expression "*unaff_EBX" (* "*") (identifier "unaff_EBX"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = unaff_EBX" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "unaff_EBX")) (; ";")) (expression_statement "pppppuVar26 = ppppppuVar31[0xe];" (assignment_expression "pppppuVar26 = ppppppuVar31[0xe]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar31[0xe]" (identifier "ppppppuVar31") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b1c8" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b1c8")) (; ";")) (expression_statement "(*(code *)pppppuVar26)();" (call_expression "(*(code *)pppppuVar26)()" (parenthesized_expression "(*(code *)pppppuVar26)" (( "(") (pointer_expression "*(code *)pppppuVar26" (* "*") (cast_expression "(code *)pppppuVar26" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppuVar26"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (((uint)unaff_EBX[7] & 2) == 0) {\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(((uint)unaff_EBX[7] & 2) == 0)" (( "(") (binary_expression "((uint)unaff_EBX[7] & 2) == 0" (parenthesized_expression "((uint)unaff_EBX[7] & 2)" (( "(") (binary_expression "(uint)unaff_EBX[7] & 2" (cast_expression "(uint)unaff_EBX[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "unaff_EBX[7]" (identifier "unaff_EBX") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(int *)(puVar35 + -4) = iVar19;\n          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;\n          *(undefined4 *)(puVar35 + -0xc) = 0x163;\n          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;\n          FUN_000da200();\n        }" ({ "{") (expression_statement "*(int *)(puVar35 + -4) = iVar19;" (assignment_expression "*(int *)(puVar35 + -4) = iVar19" (pointer_expression "*(int *)(puVar35 + -4)" (* "*") (cast_expression "(int *)(puVar35 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x478e2" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x478e2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x163;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x163" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x163")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4" (pointer_expression "*(undefined **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008b1f4" (& "&") (identifier "UNK_0008b1f4"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0008af56;" (goto "goto") (statement_identifier "LAB_0008af56") (; ";")) (} "}"))) (} "}")))) (if_statement "if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }" (if "if") (parenthesized_expression "((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0'))" (( "(") (binary_expression "(*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')" (parenthesized_expression "(*(char *)(pppppuVar26 + 0x410) == '\0')" (( "(") (binary_expression "*(char *)(pppppuVar26 + 0x410) == '\0'" (pointer_expression "*(char *)(pppppuVar26 + 0x410)" (* "*") (cast_expression "(char *)(pppppuVar26 + 0x410)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppuVar26 + 0x410)" (( "(") (binary_expression "pppppuVar26 + 0x410" (identifier "pppppuVar26") (+ "+") (number_literal "0x410")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)pppppuVar26 + 0x1041) != '\0')" (( "(") (binary_expression "*(char *)((int)pppppuVar26 + 0x1041) != '\0'" (pointer_expression "*(char *)((int)pppppuVar26 + 0x1041)" (* "*") (cast_expression "(char *)((int)pppppuVar26 + 0x1041)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x1041)" (( "(") (binary_expression "(int)pppppuVar26 + 0x1041" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x1041")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    local_110 = local_71;\n    local_104 = *(undefined4 **)(param_1 + 0x4c);\n    lVar44 = local_b4;\n    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }\n    iVar19 = *(int *)(param_1 + 0x28);\n    if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }\n  }" ({ "{") (expression_statement "local_110 = local_71;" (assignment_expression "local_110 = local_71" (identifier "local_110") (= "=") (identifier "local_71")) (; ";")) (expression_statement "local_104 = *(undefined4 **)(param_1 + 0x4c);" (assignment_expression "local_104 = *(undefined4 **)(param_1 + 0x4c)" (identifier "local_104") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" (identifier "lVar44") (= "=") (identifier "local_b4")) (; ";")) (if_statement "if (local_104 != *(undefined4 **)(param_1 + 0x50)) {\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }" (if "if") (parenthesized_expression "(local_104 != *(undefined4 **)(param_1 + 0x50))" (( "(") (binary_expression "local_104 != *(undefined4 **)(param_1 + 0x50)" (identifier "local_104") (!= "!=") (pointer_expression "*(undefined4 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (compound_statement "{\n      do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);\n    }" ({ "{") (do_statement "do {\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      } while (*(undefined4 **)(param_1 + 0x50) != local_104);" (do "do") (compound_statement "{\n        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);\n        local_a8 = (undefined4 ******)*local_104;\n        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];\n        lVar45 = local_dc;\n        if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }\n        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);\n        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];\n        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }\n        local_dc = lVar45;\n        local_104 = local_104 + 1;\n        lVar44 = local_b4;\n      }" ({ "{") (expression_statement "local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);" (assignment_expression "local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20)" (field_expression "local_b4._4_4_" (identifier "local_b4") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)((ulonglong)lVar44 >> 0x20)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((ulonglong)lVar44 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar44 >> 0x20" (cast_expression "(ulonglong)lVar44" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar44")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_a8 = (undefined4 ******)*local_104;" (assignment_expression "local_a8 = (undefined4 ******)*local_104" (identifier "local_a8") (= "=") (cast_expression "(undefined4 ******)*local_104" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*local_104" (* "*") (identifier "local_104")))) (; ";")) (expression_statement "ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];" (assignment_expression "ppppppuVar31 = ((undefined4 *******)local_a8)[0x11]" (identifier "ppppppuVar31") (= "=") (subscript_expression "((undefined4 *******)local_a8)[0x11]" (parenthesized_expression "((undefined4 *******)local_a8)" (( "(") (cast_expression "(undefined4 *******)local_a8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_a8")) () ")")) ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "lVar45 = local_dc;" (assignment_expression "lVar45 = local_dc" (identifier "lVar45") (= "=") (identifier "local_dc")) (; ";")) (if_statement "if (ppppppuVar31 != (undefined4 ******)0x0) {\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }" (if "if") (parenthesized_expression "(ppppppuVar31 != (undefined4 ******)0x0)" (( "(") (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" (identifier "ppppppuVar31") (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          local_b4 = lVar44;\n          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }\n          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;\n                    \n          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;\n          local_f8 = (undefined4 ******)FUN_00246670();\n          pppppppuVar10 = (undefined4 *******)local_f8;\n          do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);\n          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }\n          local_dc._0_4_ = (undefined4 *******)0x0;\n          local_bc = &local_40;\n          local_cc._0_4_ = (undefined4 *******)local_68;\n          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }\n          *(undefined4 *******)(puVar35 + -0x10) = local_f8;\n          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;\n          FUN_00248220();\n          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n        }" ({ "{") (expression_statement "local_b4 = lVar44;" (assignment_expression "local_b4 = lVar44" (identifier "local_b4") (= "=") (identifier "lVar44")) (; ";")) (if_statement "if ((undefined4 ******)0x3fffffff < ppppppuVar31) {\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }" (if "if") (parenthesized_expression "((undefined4 ******)0x3fffffff < ppppppuVar31)" (( "(") (binary_expression "(undefined4 ******)0x3fffffff < ppppppuVar31" (cast_expression "(undefined4 ******)0x3fffffff" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x3fffffff")) (< "<") (identifier "ppppppuVar31")) () ")")) (compound_statement "{\n            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;\n                    \n                    \n            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;\n            FUN_0028dc10();\n          }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_ac + -0x4741d" (identifier "local_ac") (+ "+") (number_literal "-0x4741d"))) (; ";")) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5" (pointer_expression "*(undefined **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008c2c5" (& "&") (identifier "UNK_0008c2c5"))) (; ";")) (expression_statement "FUN_0028dc10();" (call_expression "FUN_0028dc10()" (identifier "FUN_0028dc10") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 * 4" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b3de;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b3de" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b3de")) (; ";")) (expression_statement "local_f8 = (undefined4 ******)FUN_00246670();" (assignment_expression "local_f8 = (undefined4 ******)FUN_00246670()" (identifier "local_f8") (= "=") (cast_expression "(undefined4 ******)FUN_00246670()" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_00246670()" (identifier "FUN_00246670") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)local_f8;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_f8" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_f8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_f8"))) (; ";")) (do_statement "do {\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);" (do "do") (compound_statement "{\n            *pppppppuVar10 = (undefined4 ******)0x0;\n            pppppppuVar10 = pppppppuVar10 + 1;\n          }" ({ "{") (expression_statement "*pppppppuVar10 = (undefined4 ******)0x0;" (assignment_expression "*pppppppuVar10 = (undefined4 ******)0x0" (pointer_expression "*pppppppuVar10" (* "*") (identifier "pppppppuVar10")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppuVar10 = pppppppuVar10 + 1;" (assignment_expression "pppppppuVar10 = pppppppuVar10 + 1" (identifier "pppppppuVar10") (= "=") (binary_expression "pppppppuVar10 + 1" (identifier "pppppppuVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31)" (( "(") (binary_expression "pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31" (identifier "pppppppuVar10") (!= "!=") (binary_expression "(undefined4 *******)local_f8 + (int)ppppppuVar31" (cast_expression "(undefined4 *******)local_f8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_f8")) (+ "+") (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")))) () ")")) (; ";")) (for_statement "for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];\n              ppppppuVar31 != (undefined4 ******)0x0;\n              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }" (for "for") (( "(") (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[0x10]" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)local_a8[0x10]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0x10]" (identifier "local_a8") ([ "[") (number_literal "0x10") (] "]")))) (; ";") (binary_expression "ppppppuVar31 != (undefined4 ******)0x0" (identifier "ppppppuVar31") (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "ppppppuVar31 = (undefined4 ******)*ppppppuVar31" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)*ppppppuVar31" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppuVar31" (* "*") (identifier "ppppppuVar31")))) () ")") (compound_statement "{\n            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;\n          }" ({ "{") (expression_statement "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;" (assignment_expression "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31" (subscript_expression "((undefined4 *******)local_f8)[(int)ppppppuVar31[7]]" (parenthesized_expression "((undefined4 *******)local_f8)" (( "(") (cast_expression "(undefined4 *******)local_f8" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_f8")) () ")")) ([ "[") (cast_expression "(int)ppppppuVar31[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppuVar31[7]" (identifier "ppppppuVar31") ([ "[") (number_literal "7") (] "]"))) (] "]")) (= "=") (identifier "ppppppuVar31")) (; ";")) (} "}"))) (expression_statement "local_dc._0_4_ = (undefined4 *******)0x0;" (assignment_expression "local_dc._0_4_ = (undefined4 *******)0x0" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_bc = &local_40;" (assignment_expression "local_bc = &local_40" (identifier "local_bc") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "local_cc._0_4_ = (undefined4 *******)local_68;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)local_68" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_68" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_68"))) (; ";")) (if_statement "if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }" (if "if") (parenthesized_expression "((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0)" (( "(") (binary_expression "(undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0" (cast_expression "(undefined4 ******)local_a8[0x11]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0x11]" (identifier "local_a8") ([ "[") (number_literal "0x11") (] "]"))) (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);\n          }" ({ "{") (do_statement "do {\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);" (do "do") (compound_statement "{\n              ppppppuVar31 = local_ac;\n              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);\n              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];\n              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);\n              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }\n              ppppppuVar31 = local_ac;\n              pppppppuVar10 = (undefined4 *******)local_110;\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }\n              do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);\n              bVar41 = (uVar20 & 0x8080) == 0;\n              if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }\n              if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }\n              iVar19 = -(int)local_bc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;\n              sVar15 = strlen(*(char **)(puVar35 + -0x10));\n              ppppppuVar31 = local_ac;\n              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;\n              do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);\n              bVar41 = (uVar32 & 0x8080) == 0;\n              if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }\n              if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }\n              *(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;\n              pppppppuVar16 = (undefined4 *******)FUN_002465f0();\n              ppppppuVar11 = local_a8;\n              local_e4 = pppppppuVar16;\n              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;\n              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n              *(undefined4 *******)(puVar35 + -0x14) = local_bc;\n              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];\n              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);\n              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);\n              local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              pppppuVar26 = ((undefined4 *******)local_b4)[1];\n              local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);\n              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }\n              ppppppuVar31 = local_ac;\n              uVar39 = local_f0;\n              if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }\n              ppppppuVar11 = (undefined4 ******)local_a8[0xd];\n              if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }\n              ppppuVar5 = ppppppuVar11[5][8];\n              if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }\n              iVar19 = -(int)ppppuVar5[1];\n              pppppuVar26 = ppppppuVar11[0x2c];\n              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;\n              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;\n              iVar22 = uVar32 + 0x14;\n              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }\n              pppppuVar14 = (undefined4 *****)(*local_c4)[2];\n              local_b4._0_4_ = (undefined4 *******)pppppuVar26;\n              if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }\n              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }\n              *(undefined4 *)(puVar35 + -8) = 0;\n              ppppppuVar31 = local_f4;\n              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;\n              *(uint *)(puVar35 + -0x28) = uVar39;\n              ppppppuVar11 = local_a8;\n              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;\n              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);\n            }" ({ "{") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);" (assignment_expression "local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00)" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined8 *)((uint)local_68[0] & 0xffffff00)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_68[0] & 0xffffff00)" (( "(") (binary_expression "(uint)local_68[0] & 0xffffff00" (cast_expression "(uint)local_68[0]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]"))) (& "&") (number_literal "0xffffff00")) () ")")))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_f8[(int)(undefined4 *******)local_dc]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_f8[(int)(undefined4 *******)local_dc]" (identifier "local_f8") ([ "[") (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (] "]")))) (; ";")) (if_statement "if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" (if "if") (parenthesized_expression "(((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0)" (( "(") (binary_expression "((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||\n                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0" (binary_expression "((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[3]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "3") (] "]")) (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[4]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "4") (] "]")) (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;\n                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "((undefined4 *******)local_b4)[3]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f" (pointer_expression "*(int *)(puVar35 + -0xc)" (* "*") (cast_expression "(int *)(puVar35 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x11cf9f" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x11cf9f"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b8bc" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b8bc")) (; ";")) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" (identifier "sprintf") (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar35 + -0x10)" (* "*") (cast_expression "(char **)(puVar35 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar35 + -0xc)" (* "*") (cast_expression "(char **)(puVar35 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);" (assignment_expression "local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00)" (identifier "local_40") (= "=") (cast_expression "(undefined4 ******)((uint)local_40 & 0xffffff00)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)local_40 & 0xffffff00)" (( "(") (binary_expression "(uint)local_40 & 0xffffff00" (cast_expression "(uint)local_40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_40")) (& "&") (number_literal "0xffffff00")) () ")")))) (; ";")) (if_statement "if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" (if "if") (parenthesized_expression "(((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0)" (( "(") (binary_expression "((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0" (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;\n                *(undefined4 *******)(puVar35 + -0x10) = local_bc;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n              }" ({ "{") (expression_statement "*(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];" (assignment_expression "*(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f]" (pointer_expression "*(undefined4 ******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "((undefined4 *******)local_b4)[2][0x4f]" (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0x4f") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b" (pointer_expression "*(int *)(puVar35 + -0xc)" (* "*") (cast_expression "(int *)(puVar35 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x11cf9b" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x11cf9b"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b4a9" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b4a9")) (; ";")) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" (identifier "sprintf") (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar35 + -0x10)" (* "*") (cast_expression "(char **)(puVar35 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar35 + -0xc)" (* "*") (cast_expression "(char **)(puVar35 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)local_110;" (assignment_expression "pppppppuVar10 = (undefined4 *******)local_110" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)local_110" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_110"))) (; ";")) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[1];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[1]" (identifier "pppppuVar26") (= "=") (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }\n              else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];\n                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;\n                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;\n                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));\n                pppppppuVar16 = (undefined4 *******)local_bc;\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5]" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;" (assignment_expression "*(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e" (pointer_expression "*(int *)(puVar35 + -0xc)" (* "*") (cast_expression "(int *)(puVar35 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x11cf9e" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x11cf9e"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b955;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b955" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b955")) (; ";")) (expression_statement "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));" (call_expression "sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" (identifier "sprintf") (argument_list "(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar35 + -0x10)" (* "*") (cast_expression "(char **)(puVar35 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar35 + -0xc)" (* "*") (cast_expression "(char **)(puVar35 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)local_bc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_bc"))) (; ";")) (} "}")) (else_clause "else {\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" (else "else") (compound_statement "{\n                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];\n                if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n              }" ({ "{") (expression_statement "pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];" (assignment_expression "pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d]" (identifier "pppppuVar14") (= "=") (cast_expression "(undefined4 *****)local_a8[0xd][0x2d]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_a8[0xd][0x2d]" (subscript_expression "local_a8[0xd]" (identifier "local_a8") ([ "[") (number_literal "0xd") (] "]")) ([ "[") (number_literal "0x2d") (] "]")))) (; ";")) (if_statement "if ((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))) {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }\n                else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" (if "if") (parenthesized_expression "((pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14))))" (( "(") (binary_expression "(pppppuVar14 == (undefined4 *****)0x0) ||\n                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))" (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar14 == (undefined4 *****)0x0" (identifier "pppppuVar14") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)))" (( "(") (parenthesized_expression "((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14))" (( "(") (binary_expression "(undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&\n                    (pppppuVar26 != pppppuVar14)" (binary_expression "(undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26" (cast_expression "(undefined4 *****)local_a8[0xd][0x2c]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "local_a8[0xd][0x2c]" (subscript_expression "local_a8[0xd]" (identifier "local_a8") ([ "[") (number_literal "0xd") (] "]")) ([ "[") (number_literal "0x2c") (] "]"))) (!= "!=") (identifier "pppppuVar26")) (&& "&&") (parenthesized_expression "(pppppuVar26 != pppppuVar14)" (( "(") (binary_expression "pppppuVar26 != pppppuVar14" (identifier "pppppuVar26") (!= "!=") (identifier "pppppuVar14")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" ({ "{") (expression_statement "pppppppuVar10 = (undefined4 *******)*pppppuVar26;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*pppppuVar26" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)*pppppuVar26" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*pppppuVar26" (* "*") (identifier "pppppuVar26")))) (; ";")) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)local_bc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_bc"))) (; ";")) (} "}")) (else_clause "else {\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" (else "else") (compound_statement "{\n                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;\n                  pppppppuVar16 = (undefined4 *******)local_bc;\n                }" ({ "{") (expression_statement "pppppppuVar10 = (undefined4 *******)*pppppuVar14;" (assignment_expression "pppppppuVar10 = (undefined4 *******)*pppppuVar14" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)*pppppuVar14" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*pppppuVar14" (* "*") (identifier "pppppuVar14")))) (; ";")) (expression_statement "pppppppuVar16 = (undefined4 *******)local_bc;" (assignment_expression "pppppppuVar16 = (undefined4 *******)local_bc" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)local_bc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_bc"))) (; ";")) (} "}")))) (} "}")))) (do_statement "do {\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              } while (uVar39 == 0);" (do "do") (compound_statement "{\n                pppppppuVar30 = pppppppuVar16;\n                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;\n                uVar39 = uVar20 & 0x80808080;\n                pppppppuVar16 = pppppppuVar30 + 1;\n              }" ({ "{") (expression_statement "pppppppuVar30 = pppppppuVar16;" (assignment_expression "pppppppuVar30 = pppppppuVar16" (identifier "pppppppuVar30") (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;" (assignment_expression "uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30" (identifier "uVar20") (= "=") (binary_expression "(uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30" (call_expression "(uint)((int)*pppppppuVar30 + 0xfefefeffU)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)*pppppppuVar30 + 0xfefefeffU)" (( "(") (binary_expression "(int)*pppppppuVar30 + 0xfefefeffU" (cast_expression "(int)*pppppppuVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppppuVar30" (* "*") (identifier "pppppppuVar30"))) (+ "+") (number_literal "0xfefefeffU")) () ")"))) (& "&") (binary_expression "~(uint)*pppppppuVar30" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pppppppuVar30")))) (; ";")) (expression_statement "uVar39 = uVar20 & 0x80808080;" (assignment_expression "uVar39 = uVar20 & 0x80808080" (identifier "uVar39") (= "=") (binary_expression "uVar20 & 0x80808080" (identifier "uVar20") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "pppppppuVar16 = pppppppuVar30 + 1;" (assignment_expression "pppppppuVar16 = pppppppuVar30 + 1" (identifier "pppppppuVar16") (= "=") (binary_expression "pppppppuVar30 + 1" (identifier "pppppppuVar30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar39 == 0)" (( "(") (binary_expression "uVar39 == 0" (identifier "uVar39") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar41 = (uVar20 & 0x8080) == 0;" (assignment_expression "bVar41 = (uVar20 & 0x8080) == 0" (identifier "bVar41") (= "=") (binary_expression "(uVar20 & 0x8080) == 0" (parenthesized_expression "(uVar20 & 0x8080)" (( "(") (binary_expression "uVar20 & 0x8080" (identifier "uVar20") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar41) {\n                uVar39 = uVar39 >> 0x10;\n              }" (if "if") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (compound_statement "{\n                uVar39 = uVar39 >> 0x10;\n              }" ({ "{") (expression_statement "uVar39 = uVar39 >> 0x10;" (assignment_expression "uVar39 = uVar39 >> 0x10" (identifier "uVar39") (= "=") (binary_expression "uVar39 >> 0x10" (identifier "uVar39") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar41) {\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }" (if "if") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (compound_statement "{\n                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);\n              }" ({ "{") (expression_statement "pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);" (assignment_expression "pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6)" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar30 + 6)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar30 + 6)" (( "(") (binary_expression "(int)pppppppuVar30 + 6" (cast_expression "(int)pppppppuVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar30")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar19 = -(int)local_bc;" (assignment_expression "iVar19 = -(int)local_bc" (identifier "iVar19") (= "=") (unary_expression "-(int)local_bc" (- "-") (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b53f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b53f" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b53f")) (; ";")) (expression_statement "sVar15 = strlen(*(char **)(puVar35 + -0x10));" (assignment_expression "sVar15 = strlen(*(char **)(puVar35 + -0x10))" (identifier "sVar15") (= "=") (call_expression "strlen(*(char **)(puVar35 + -0x10))" (identifier "strlen") (argument_list "(*(char **)(puVar35 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar35 + -0x10)" (* "*") (cast_expression "(char **)(puVar35 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;" (assignment_expression "ppuVar25 = (undefined8 **)(undefined4 *******)local_cc" (identifier "ppuVar25") (= "=") (cast_expression "(undefined8 **)(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) (; ";")) (do_statement "do {\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              } while (uVar20 == 0);" (do "do") (compound_statement "{\n                ppuVar24 = ppuVar25;\n                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;\n                uVar20 = uVar32 & 0x80808080;\n                ppuVar25 = ppuVar24 + 1;\n              }" ({ "{") (expression_statement "ppuVar24 = ppuVar25;" (assignment_expression "ppuVar24 = ppuVar25" (identifier "ppuVar24") (= "=") (identifier "ppuVar25")) (; ";")) (expression_statement "uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;" (assignment_expression "uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24" (identifier "uVar32") (= "=") (binary_expression "(int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24" (binary_expression "(int)*ppuVar24 + 0xfefefeffU" (cast_expression "(int)*ppuVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppuVar24" (* "*") (identifier "ppuVar24"))) (+ "+") (number_literal "0xfefefeffU")) (& "&") (binary_expression "~(uint)*ppuVar24" (unary_expression "~(uint)" (~ "~") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "ppuVar24")))) (; ";")) (expression_statement "uVar20 = uVar32 & 0x80808080;" (assignment_expression "uVar20 = uVar32 & 0x80808080" (identifier "uVar20") (= "=") (binary_expression "uVar32 & 0x80808080" (identifier "uVar32") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "ppuVar25 = ppuVar24 + 1;" (assignment_expression "ppuVar25 = ppuVar24 + 1" (identifier "ppuVar25") (= "=") (binary_expression "ppuVar24 + 1" (identifier "ppuVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar20 == 0)" (( "(") (binary_expression "uVar20 == 0" (identifier "uVar20") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar41 = (uVar32 & 0x8080) == 0;" (assignment_expression "bVar41 = (uVar32 & 0x8080) == 0" (identifier "bVar41") (= "=") (binary_expression "(uVar32 & 0x8080) == 0" (parenthesized_expression "(uVar32 & 0x8080)" (( "(") (binary_expression "uVar32 & 0x8080" (identifier "uVar32") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar41) {\n                uVar20 = uVar20 >> 0x10;\n              }" (if "if") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (compound_statement "{\n                uVar20 = uVar20 >> 0x10;\n              }" ({ "{") (expression_statement "uVar20 = uVar20 >> 0x10;" (assignment_expression "uVar20 = uVar20 >> 0x10" (identifier "uVar20") (= "=") (binary_expression "uVar20 >> 0x10" (identifier "uVar20") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar41) {\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }" (if "if") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (compound_statement "{\n                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);\n              }" ({ "{") (expression_statement "ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);" (assignment_expression "ppuVar25 = (undefined8 **)((int)ppuVar24 + 6)" (identifier "ppuVar25") (= "=") (cast_expression "(undefined8 **)((int)ppuVar24 + 6)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar24 + 6)" (( "(") (binary_expression "(int)ppuVar24 + 6" (cast_expression "(int)ppuVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar24")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "*(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));" (assignment_expression "*(size_t *)(puVar35 + -0x10) =\n                   (int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" (pointer_expression "*(size_t *)(puVar35 + -0x10)" (* "*") (cast_expression "(size_t *)(puVar35 + -0x10)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +\n                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39))" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25 +\n                   sVar15" (binary_expression "(int)pppppppuVar16 +\n                   (int)ppuVar25" (cast_expression "(int)pppppppuVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar16")) (+ "+") (cast_expression "(int)ppuVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar25"))) (+ "+") (identifier "sVar15")) (+ "+") (parenthesized_expression "(iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39))" (( "(") (binary_expression "iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)" (identifier "iVar19") (- "-") (cast_expression "(uint)CARRY1((byte)uVar39,(byte)uVar39)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar39,(byte)uVar39)" (identifier "CARRY1") (argument_list "((byte)uVar39,(byte)uVar39)" (( "(") (cast_expression "(byte)uVar39" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar39")) (, ",") (cast_expression "(byte)uVar39" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar39")) () ")"))))) () ")"))) (+ "+") (number_literal "0xd")) (+ "+") (parenthesized_expression "(-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20))" (( "(") (binary_expression "-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20)" (unary_expression "-(int)(undefined4 *******)local_cc" (- "-") (cast_expression "(int)(undefined4 *******)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc")))) (- "-") (cast_expression "(uint)CARRY1((byte)uVar20,(byte)uVar20)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar20,(byte)uVar20)" (identifier "CARRY1") (argument_list "((byte)uVar20,(byte)uVar20)" (( "(") (cast_expression "(byte)uVar20" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar20")) (, ",") (cast_expression "(byte)uVar20" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar20")) () ")"))))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b597;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b597" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b597")) (; ";")) (expression_statement "pppppppuVar16 = (undefined4 *******)FUN_002465f0();" (assignment_expression "pppppppuVar16 = (undefined4 *******)FUN_002465f0()" (identifier "pppppppuVar16") (= "=") (cast_expression "(undefined4 *******)FUN_002465f0()" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_002465f0()" (identifier "FUN_002465f0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" (identifier "ppppppuVar11") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "local_e4 = pppppppuVar16;" (assignment_expression "local_e4 = pppppppuVar16" (identifier "local_e4") (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc" (pointer_expression "*(undefined4 ********)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_cc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_cc"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x14) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x14) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "ppppppuVar11[0x24]" (identifier "ppppppuVar11") ([ "[") (number_literal "0x24") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;" (assignment_expression "*(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97" (pointer_expression "*(int *)(puVar35 + -0x1c)" (* "*") (cast_expression "(int *)(puVar35 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x11cf97" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x11cf97"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16" (pointer_expression "*(undefined4 ********)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "pppppppuVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8b5c7" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8b5c7")) (; ";")) (expression_statement "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));" (call_expression "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" (identifier "sprintf") (argument_list "(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" (( "(") (pointer_expression "*(char **)(puVar35 + -0x20)" (* "*") (cast_expression "(char **)(puVar35 + -0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar35 + -0x1c)" (* "*") (cast_expression "(char **)(puVar35 + -0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) () ")"))) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" (( "(") (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47716" (identifier "local_ac") (+ "+") (number_literal "-0x47716"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c10e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c10e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c10e")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (identifier "uVar39") (= "=") (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" (( "(") (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")"))) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xac8") (] "]")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" (if "if") (parenthesized_expression "(uVar39 < 0x20)" (( "(") (binary_expression "uVar39 < 0x20" (identifier "uVar39") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                uVar39 = 0x20;\n              }" ({ "{") (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" (identifier "uVar39") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (if_statement "if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(((uint)local_a8[7] & 1) == 0)" (( "(") (binary_expression "((uint)local_a8[7] & 1) == 0" (parenthesized_expression "((uint)local_a8[7] & 1)" (( "(") (binary_expression "(uint)local_a8[7] & 1" (cast_expression "(uint)local_a8[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[7]" (identifier "local_a8") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47743" (identifier "local_ac") (+ "+") (number_literal "-0x47743"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b624;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b624" (pointer_expression "*(undefined **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008b624" (& "&") (identifier "UNK_0008b624"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[1]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11)" (identifier "puVar23") (= "=") (cast_expression "(undefined *)((uVar39 - 1) + (int)ppppppuVar11)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar39 - 1) + (int)ppppppuVar11)" (( "(") (binary_expression "(uVar39 - 1) + (int)ppppppuVar11" (parenthesized_expression "(uVar39 - 1)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")")) (+ "+") (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11"))) () ")")))) (; ";")) (expression_statement "local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);" (assignment_expression "local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" (identifier "local_ec") (= "=") (cast_expression "(undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39)" (( "(") (binary_expression "(uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)local_a8[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_a8[0x1c] + (int)puVar23)" (( "(") (binary_expression "(int)local_a8[0x1c] + (int)puVar23" (cast_expression "(int)local_a8[0x1c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0x1c]" (identifier "local_a8") ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23"))) () ")"))) (& "&") (unary_expression "-uVar39" (- "-") (identifier "uVar39"))) () ")")))) (; ";")) (expression_statement "local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);" (assignment_expression "local_e8 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (identifier "local_e8") (= "=") (binary_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (call_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1))" (( "(") (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (cast_expression "(int)local_a8[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (identifier "CARRY4") (argument_list "((uint)local_a8[0x1c],(uint)puVar23)" (( "(") (cast_expression "(uint)local_a8[0x1c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[0x1c]" (identifier "local_a8") ([ "[") (number_literal "0x1c") (] "]"))) (, ",") (cast_expression "(uint)puVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar23")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar39 - 1,(uint)ppppppuVar11)" (identifier "CARRY4") (argument_list "(uVar39 - 1,(uint)ppppppuVar11)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) (, ",") (cast_expression "(uint)ppppppuVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppuVar11")) () ")"))))) (+ "+") (parenthesized_expression "((uVar39 != 0) - 1)" (( "(") (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) () ")"))) () ")"))) (& "&") (unary_expression "-(uint)(uVar39 != 0)" (- "-") (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[1];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[1]" (identifier "pppppuVar26") (= "=") (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]);" (assignment_expression "local_f4 = (undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" (identifier "local_f4") (= "=") (cast_expression "(undefined4 ******)\n                         (((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6])" (( "(") (binary_expression "((int)local_ec - (int)ppppppuVar11) +\n                         (int)((undefined4 *******)local_b4)[6]" (parenthesized_expression "((int)local_ec - (int)ppppppuVar11)" (( "(") (binary_expression "(int)local_ec - (int)ppppppuVar11" (cast_expression "(int)local_ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ec")) (- "-") (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11"))) () ")")) (+ "+") (cast_expression "(int)((undefined4 *******)local_b4)[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[6]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "6") (] "]")))) () ")")))) (; ";")) (expression_statement "local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6]);" (assignment_expression "local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" (identifier "local_f0") (= "=") (binary_expression "((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +\n                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" (parenthesized_expression "((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11))" (( "(") (binary_expression "(local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)" (parenthesized_expression "(local_e8 - (int)local_a8[2])" (( "(") (binary_expression "local_e8 - (int)local_a8[2]" (identifier "local_e8") (- "-") (cast_expression "(int)local_a8[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]")))) () ")")) (- "-") (call_expression "(uint)(local_ec < ppppppuVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_ec < ppppppuVar11)" (( "(") (binary_expression "local_ec < ppppppuVar11" (identifier "local_ec") (< "<") (identifier "ppppppuVar11")) () ")")))) () ")")) (+ "+") (cast_expression "(uint)CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" (identifier "CARRY4") (argument_list "((int)local_ec - (int)ppppppuVar11,\n                                      (uint)((undefined4 *******)local_b4)[6])" (( "(") (binary_expression "(int)local_ec - (int)ppppppuVar11" (cast_expression "(int)local_ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ec")) (- "-") (cast_expression "(int)ppppppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar11"))) (, ",") (subscript_expression "(uint)((undefined4 *******)local_b4)[6]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "6") (] "]")) () ")")))))) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0xd];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0xd]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[0xd]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0xd]" (identifier "local_a8") ([ "[") (number_literal "0xd") (] "]")))) (; ";")) (if_statement "if (pppppuVar26 == (undefined4 *****)0x0) {\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }\n              else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" (if "if") (parenthesized_expression "(pppppuVar26 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar26 == (undefined4 *****)0x0" (identifier "pppppuVar26") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                pppppuVar26 = ((undefined4 *******)local_b4)[2];\n                pppppuVar14 = ((undefined4 *******)local_b4)[5];\n                if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }\n                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }\n                ppppuVar17 = *pppppuVar26;\n                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;\n                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                pppuVar6 = ppppuVar17[0x2a];\n                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;\n                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();\n              }" ({ "{") (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[2];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[2]" (identifier "pppppuVar26") (= "=") (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pppppuVar14 = ((undefined4 *******)local_b4)[5];" (assignment_expression "pppppuVar14 = ((undefined4 *******)local_b4)[5]" (identifier "pppppuVar14") (= "=") (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if ((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }" (if "if") (parenthesized_expression "((undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14)" (( "(") (binary_expression "(undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=\n                    pppppuVar14" (cast_expression "(undefined4 *****)\n                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333)" (( "(") (binary_expression "((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333" (parenthesized_expression "((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2)" (( "(") (binary_expression "(int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2" (binary_expression "(int)pppppuVar26[0x38] - (int)pppppuVar26[0x37]" (cast_expression "(int)pppppuVar26[0x38]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[0x38]" (identifier "pppppuVar26") ([ "[") (number_literal "0x38") (] "]"))) (- "-") (cast_expression "(int)pppppuVar26[0x37]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[0x37]" (identifier "pppppuVar26") ([ "[") (number_literal "0x37") (] "]")))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x33333333")) () ")"))) (<= "<=") (identifier "pppppuVar14")) () ")")) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;\n                  FUN_000da200();\n                }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x4773f" (identifier "local_ac") (+ "+") (number_literal "-0x4773f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8c1")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x4746e" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x4746e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c246;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c246" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c246")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)\n                {\n                  pppppuVar34 = ppppppuVar11[8];\n                }\n                else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40)" (( "(") (binary_expression "*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40" (pointer_expression "*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" (* "*") (cast_expression "(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb)" (( "(") (binary_expression "(int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb" (binary_expression "(int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14" (cast_expression "(int)pppppuVar26[0x37]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar26[0x37]" (identifier "pppppuVar26") ([ "[") (number_literal "0x37") (] "]"))) (+ "+") (binary_expression "(int)pppppuVar14 * 0x14" (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14")) (* "*") (number_literal "0x14"))) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  pppppuVar34 = ppppppuVar11[8];\n                }" ({ "{") (expression_statement "pppppuVar34 = ppppppuVar11[8];" (assignment_expression "pppppuVar34 = ppppppuVar11[8]" (identifier "pppppuVar34") (= "=") (subscript_expression "ppppppuVar11[8]" (identifier "ppppppuVar11") ([ "[") (number_literal "8") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" (else "else") (compound_statement "{\n                  pppppuVar34 = ppppppuVar11[7];\n                  if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }\n                }" ({ "{") (expression_statement "pppppuVar34 = ppppppuVar11[7];" (assignment_expression "pppppuVar34 = ppppppuVar11[7]" (identifier "pppppuVar34") (= "=") (subscript_expression "ppppppuVar11[7]" (identifier "ppppppuVar11") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }" (if "if") (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar34 == (undefined4 *****)0x0" (identifier "pppppuVar34") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;\n                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x372;\n                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;\n                    FUN_000da200();\n                  }" ({ "{") (expression_statement "*(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;" (assignment_expression "*(int *)(puVar35 + -4) = (int)pppppuVar14 * 5" (pointer_expression "*(int *)(puVar35 + -4)" (* "*") (cast_expression "(int *)(puVar35 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "(int)pppppuVar14 * 5" (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14")) (* "*") (number_literal "5"))) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x477bb" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x477bb"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x372;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x372" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x372")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x4745f" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x4745f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c3bb" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c3bb")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "ppppuVar17 = *pppppuVar26;" (assignment_expression "ppppuVar17 = *pppppuVar26" (identifier "ppppuVar17") (= "=") (pointer_expression "*pppppuVar26" (* "*") (identifier "pppppuVar26"))) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;" (assignment_expression "*(undefined4 ******)(puVar35 + -0xc) = pppppuVar14" (pointer_expression "*(undefined4 ******)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pppppuVar14")) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppuVar26")) (; ";")) (expression_statement "pppuVar6 = ppppuVar17[0x2a];" (assignment_expression "pppuVar6 = ppppuVar17[0x2a]" (identifier "pppuVar6") (= "=") (subscript_expression "ppppuVar17[0x2a]" (identifier "ppppuVar17") ([ "[") (number_literal "0x2a") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b915;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b915" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b915")) (; ";")) (expression_statement "ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();" (assignment_expression "ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)()" (identifier "ppppuVar17") (= "=") (cast_expression "(undefined4 ****)(*(code *)pppuVar6)()" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)pppuVar6)()" (parenthesized_expression "(*(code *)pppuVar6)" (( "(") (pointer_expression "*(code *)pppuVar6" (* "*") (cast_expression "(code *)pppuVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar6"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" (else "else") (compound_statement "{\n                if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }\n                ppppppuVar31 = local_ac;\n                pppppuVar34 = ppppppuVar11[6];\n                if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }\nLAB_0008b6e1:\n                ppppppuVar31 = local_ac;\n                ppppuVar17 = pppppuVar26[6];\n                if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }\n              }" ({ "{") (if_statement "if (((uint)pppppuVar26[10] & 0xf) == 10) {\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(((uint)pppppuVar26[10] & 0xf) == 10)" (( "(") (binary_expression "((uint)pppppuVar26[10] & 0xf) == 10" (parenthesized_expression "((uint)pppppuVar26[10] & 0xf)" (( "(") (binary_expression "(uint)pppppuVar26[10] & 0xf" (cast_expression "(uint)pppppuVar26[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[10]" (identifier "pppppuVar26") ([ "[") (number_literal "10") (] "]"))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;\n                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }\n                }" ({ "{") (if_statement "if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;" (if "if") (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppuVar26 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppuVar26 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x2a)" (( "(") (binary_expression "(int)pppppuVar26 + 0x2a" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008b9a0;" (goto "goto") (statement_identifier "LAB_0008b9a0") (; ";"))) (if_statement "if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }" (if "if") (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)pppppuVar26 + 0x2a) & 7" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2a)" (* "*") (cast_expression "(byte *)((int)pppppuVar26 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x2a)" (( "(") (binary_expression "(int)pppppuVar26 + 0x2a" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                    while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }\n                  }" ({ "{") (while_statement "while( true ) {\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;\n                      cVar7 = FUN_000a7920();\n                      if (cVar7 != '\0') break;\n                      pppppuVar34 = ppppppuVar11[7];\n                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;\n                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;\n                      FUN_00051cf0();\n                      ppppppuVar11 = (undefined4 ******)0x0;\nLAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;\n                    }" ({ "{") (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = pppppuVar26" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppuVar26")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b982;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b982" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b982")) (; ";")) (expression_statement "cVar7 = FUN_000a7920();" (assignment_expression "cVar7 = FUN_000a7920()" (identifier "cVar7") (= "=") (call_expression "FUN_000a7920()" (identifier "FUN_000a7920") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 != '\0') break;" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppuVar34 = ppppppuVar11[7];" (assignment_expression "pppppuVar34 = ppppppuVar11[7]" (identifier "pppppuVar34") (= "=") (subscript_expression "ppppppuVar11[7]" (identifier "ppppppuVar11") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;" (if "if") (parenthesized_expression "(pppppuVar34 != (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar34 != (undefined4 *****)0x0" (identifier "pppppuVar34") (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008b6e1;" (goto "goto") (statement_identifier "LAB_0008b6e1") (; ";"))) (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8b99d;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8b99d" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8b99d")) (; ";")) (expression_statement "FUN_00051cf0();" (call_expression "FUN_00051cf0()" (identifier "FUN_00051cf0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppuVar11 = (undefined4 ******)0x0;" (assignment_expression "ppppppuVar11 = (undefined4 ******)0x0" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0008b9a0:\n                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;" (statement_identifier "LAB_0008b9a0") (: ":") (if_statement "if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;" (if "if") (parenthesized_expression "((((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0))))" (( "(") (binary_expression "(((uint)pppppuVar26[2][0xb] & 1) != 0) ||\n                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))" (parenthesized_expression "(((uint)pppppuVar26[2][0xb] & 1) != 0)" (( "(") (binary_expression "((uint)pppppuVar26[2][0xb] & 1) != 0" (parenthesized_expression "((uint)pppppuVar26[2][0xb] & 1)" (( "(") (binary_expression "(uint)pppppuVar26[2][0xb] & 1" (cast_expression "(uint)pppppuVar26[2][0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar26[2][0xb]" (subscript_expression "pppppuVar26[2]" (identifier "pppppuVar26") ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))" (( "(") (parenthesized_expression "(pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "pppppuVar26[3] == (undefined4 ****)0x0 &&\n                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)" (binary_expression "pppppuVar26[3] == (undefined4 ****)0x0" (subscript_expression "pppppuVar26[3]" (identifier "pppppuVar26") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined4 ****)0x0" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)pppppuVar26 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)pppppuVar26 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)pppppuVar26 + 0x2b)" (* "*") (cast_expression "(byte *)((int)pppppuVar26 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar26 + 0x2b)" (( "(") (binary_expression "(int)pppppuVar26 + 0x2b" (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";")))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "pppppuVar34 = ppppppuVar11[6];" (assignment_expression "pppppuVar34 = ppppppuVar11[6]" (identifier "pppppuVar34") (= "=") (subscript_expression "ppppppuVar11[6]" (identifier "ppppppuVar11") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (pppppuVar34 == (undefined4 *****)0x0) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }" (if "if") (parenthesized_expression "(pppppuVar34 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar34 == (undefined4 *****)0x0" (identifier "pppppuVar34") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;\n                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;\n                  FUN_000da200();\n                }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x477be" (identifier "local_ac") (+ "+") (number_literal "-0x477be"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x36a;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x36a" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x36a")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x4745f" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x4745f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c2e9" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c2e9")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0008b6e1:\n                ppppppuVar31 = local_ac;" (statement_identifier "LAB_0008b6e1") (: ":") (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "ppppuVar17 = pppppuVar26[6];" (assignment_expression "ppppuVar17 = pppppuVar26[6]" (identifier "ppppuVar17") (= "=") (subscript_expression "pppppuVar26[6]" (identifier "pppppuVar26") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (ppppuVar17 == (undefined4 ****)0xffffffff) {\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }" (if "if") (parenthesized_expression "(ppppuVar17 == (undefined4 ****)0xffffffff)" (( "(") (binary_expression "ppppuVar17 == (undefined4 ****)0xffffffff" (identifier "ppppuVar17") (== "==") (cast_expression "(undefined4 ****)0xffffffff" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;\n                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;\n                  FUN_000da200();\n                }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x477c1" (identifier "local_ac") (+ "+") (number_literal "-0x477c1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x1ce")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x11d0d2" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c12f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c12f" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c12f")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "uVar39 = local_f0;" (assignment_expression "uVar39 = local_f0" (identifier "uVar39") (= "=") (identifier "local_f0")) (; ";")) (if_statement "if (((uint)pppppuVar34[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(((uint)pppppuVar34[7] & 1) == 0)" (( "(") (binary_expression "((uint)pppppuVar34[7] & 1) == 0" (parenthesized_expression "((uint)pppppuVar34[7] & 1)" (( "(") (binary_expression "(uint)pppppuVar34[7] & 1" (cast_expression "(uint)pppppuVar34[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppuVar34[7]" (identifier "pppppuVar34") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47743" (identifier "local_ac") (+ "+") (number_literal "-0x47743"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c150;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c150" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c150")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar11 = (undefined4 ******)local_a8[0xd];" (assignment_expression "ppppppuVar11 = (undefined4 ******)local_a8[0xd]" (identifier "ppppppuVar11") (= "=") (cast_expression "(undefined4 ******)local_a8[0xd]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[0xd]" (identifier "local_a8") ([ "[") (number_literal "0xd") (] "]")))) (; ";")) (if_statement "if (ppppppuVar11[5] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(ppppppuVar11[5] == (undefined4 *****)0x0)" (( "(") (binary_expression "ppppppuVar11[5] == (undefined4 *****)0x0" (subscript_expression "ppppppuVar11[5]" (identifier "ppppppuVar11") ([ "[") (number_literal "5") (] "]")) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;\n                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x4780e" (identifier "local_ac") (+ "+") (number_literal "-0x4780e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x3ae;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x3ae" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x3ae")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x4745f" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x4745f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c171;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c171" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c171")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppuVar5 = ppppppuVar11[5][8];" (assignment_expression "ppppuVar5 = ppppppuVar11[5][8]" (identifier "ppppuVar5") (= "=") (subscript_expression "ppppppuVar11[5][8]" (subscript_expression "ppppppuVar11[5]" (identifier "ppppppuVar11") ([ "[") (number_literal "5") (] "]")) ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (((uint)ppppuVar5[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(((uint)ppppuVar5[7] & 1) == 0)" (( "(") (binary_expression "((uint)ppppuVar5[7] & 1) == 0" (parenthesized_expression "((uint)ppppuVar5[7] & 1)" (( "(") (binary_expression "(uint)ppppuVar5[7] & 1" (cast_expression "(uint)ppppuVar5[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppuVar5[7]" (identifier "ppppuVar5") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47743" (identifier "local_ac") (+ "+") (number_literal "-0x47743"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c012;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c012" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c012")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = -(int)ppppuVar5[1];" (assignment_expression "iVar19 = -(int)ppppuVar5[1]" (identifier "iVar19") (= "=") (unary_expression "-(int)ppppuVar5[1]" (- "-") (cast_expression "(int)ppppuVar5[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppuVar5[1]" (identifier "ppppuVar5") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "pppppuVar26 = ppppppuVar11[0x2c];" (assignment_expression "pppppuVar26 = ppppppuVar11[0x2c]" (identifier "pppppuVar26") (= "=") (subscript_expression "ppppppuVar11[0x2c]" (identifier "ppppppuVar11") ([ "[") (number_literal "0x2c") (] "]"))) (; ";")) (expression_statement "uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;" (assignment_expression "uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10" (identifier "uVar20") (= "=") (binary_expression "(uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10" (call_expression "(uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19)" (( "(") (binary_expression "(int)pppppuVar34[1] + (int)ppppuVar17 + iVar19" (binary_expression "(int)pppppuVar34[1] + (int)ppppuVar17" (cast_expression "(int)pppppuVar34[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar34[1]" (identifier "pppppuVar34") ([ "[") (number_literal "1") (] "]"))) (+ "+") (cast_expression "(int)ppppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar17"))) (+ "+") (identifier "iVar19")) () ")"))) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;" (assignment_expression "uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc" (identifier "uVar32") (= "=") (binary_expression "-(uint)(uVar20 == 0) & 0xfffffffc" (unary_expression "-(uint)(uVar20 == 0)" (- "-") (call_expression "(uint)(uVar20 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar20 == 0)" (( "(") (binary_expression "uVar20 == 0" (identifier "uVar20") (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffffc"))) (; ";")) (expression_statement "iVar22 = uVar32 + 0x14;" (assignment_expression "iVar22 = uVar32 + 0x14" (identifier "iVar22") (= "=") (binary_expression "uVar32 + 0x14" (identifier "uVar32") (+ "+") (number_literal "0x14"))) (; ";")) (if_statement "if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {\n                iVar22 = uVar32 + 0x48;\n              }" (if "if") (parenthesized_expression "((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]))))" (( "(") (binary_expression "(ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&\n                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))" (parenthesized_expression "(ppppppuVar11[0x2d] != (undefined4 *****)0x0)" (( "(") (binary_expression "ppppppuVar11[0x2d] != (undefined4 *****)0x0" (subscript_expression "ppppppuVar11[0x2d]" (identifier "ppppppuVar11") ([ "[") (number_literal "0x2d") (] "]")) (!= "!=") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))" (( "(") (parenthesized_expression "(((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]))" (( "(") (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||\n                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])" (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26" (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(undefined4 ******)pppppuVar26" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppuVar26"))) (|| "||") (parenthesized_expression "(((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])" (( "(") (binary_expression "((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d]" (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(undefined4 ******)ppppppuVar11[0x2d]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppuVar11[0x2d]" (identifier "ppppppuVar11") ([ "[") (number_literal "0x2d") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                iVar22 = uVar32 + 0x48;\n              }" ({ "{") (expression_statement "iVar22 = uVar32 + 0x48;" (assignment_expression "iVar22 = uVar32 + 0x48" (identifier "iVar22") (= "=") (binary_expression "uVar32 + 0x48" (identifier "uVar32") (+ "+") (number_literal "0x48"))) (; ";")) (} "}"))) (expression_statement "pppppuVar14 = (undefined4 *****)(*local_c4)[2];" (assignment_expression "pppppuVar14 = (undefined4 *****)(*local_c4)[2]" (identifier "pppppuVar14") (= "=") (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)pppppuVar26;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)pppppuVar26" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)pppppuVar26" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "pppppuVar26"))) (; ";")) (if_statement "if (((uint)ppppppuVar11[2] & 2) == 0) {\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }\n              else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(((uint)ppppppuVar11[2] & 2) == 0)" (( "(") (binary_expression "((uint)ppppppuVar11[2] & 2) == 0" (parenthesized_expression "((uint)ppppppuVar11[2] & 2)" (( "(") (binary_expression "(uint)ppppppuVar11[2] & 2" (cast_expression "(uint)ppppppuVar11[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppuVar11[2]" (identifier "ppppppuVar11") ([ "[") (number_literal "2") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }\n                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;\n                if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }\n                iVar22 = iVar22 + iVar12;\n              }" ({ "{") (if_statement "if (pppppuVar14 == (undefined4 *****)0x0) {\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }" (if "if") (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar14 == (undefined4 *****)0x0" (identifier "pppppuVar14") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                    \n                  *(undefined4 *)(puVar35 + -4) = 0x8c225;\n                  FUN_00052750();\n                }" ({ "{") (expression_statement "*(undefined4 *)(puVar35 + -4) = 0x8c225;" (assignment_expression "*(undefined4 *)(puVar35 + -4) = 0x8c225" (pointer_expression "*(undefined4 *)(puVar35 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -4)" (( "(") (binary_expression "puVar35 + -4" (identifier "puVar35") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x8c225")) (; ";")) (expression_statement "FUN_00052750();" (call_expression "FUN_00052750()" (identifier "FUN_00052750") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;" (assignment_expression "iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4" (identifier "iVar12") (= "=") (binary_expression "(*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4" (parenthesized_expression "(*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2)" (( "(") (binary_expression "*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +\n                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2" (binary_expression "*(byte *)((int)pppppuVar14 + 0x2bdd) + 1" (pointer_expression "*(byte *)((int)pppppuVar14 + 0x2bdd)" (* "*") (cast_expression "(byte *)((int)pppppuVar14 + 0x2bdd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar14 + 0x2bdd)" (( "(") (binary_expression "(int)pppppuVar14 + 0x2bdd" (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14")) (+ "+") (number_literal "0x2bdd")) () ")")))) (+ "+") (number_literal "1")) (+ "+") (binary_expression "(uint)*(byte *)(ppppppuVar11 + 0x27) * 2" (binary_expression "(uint)*(byte *)(ppppppuVar11 + 0x27)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(ppppppuVar11 + 0x27)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppuVar11 + 0x27)" (( "(") (binary_expression "ppppppuVar11 + 0x27" (identifier "ppppppuVar11") (+ "+") (number_literal "0x27")) () ")")))) (* "*") (number_literal "2"))) () ")")) (* "*") (number_literal "4"))) (; ";")) (if_statement "if (uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {\n                  iVar12 = iVar12 + 4;\n                }" (if "if") (parenthesized_expression "(uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10)" (( "(") (binary_expression "uVar20 != (int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10" (identifier "uVar20") (!= "!=") (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17 +\n                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8" (binary_expression "(int)pppppuVar34[1] +\n                              (int)ppppuVar17" (cast_expression "(int)pppppuVar34[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppuVar34[1]" (identifier "pppppuVar34") ([ "[") (number_literal "1") (] "]"))) (+ "+") (cast_expression "(int)ppppuVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar17"))) (+ "+") (binary_expression "(uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8" (binary_expression "(uint)*(byte *)((int)pppppuVar14 + 0x2bdd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pppppuVar14 + 0x2bdd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar14 + 0x2bdd)" (( "(") (binary_expression "(int)pppppuVar14 + 0x2bdd" (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14")) (+ "+") (number_literal "0x2bdd")) () ")")))) (* "*") (number_literal "8"))) (+ "+") (identifier "iVar19")) (+ "+") (number_literal "8")) (>> ">>") (number_literal "0x10"))) () ")")) (compound_statement "{\n                  iVar12 = iVar12 + 4;\n                }" ({ "{") (expression_statement "iVar12 = iVar12 + 4;" (assignment_expression "iVar12 = iVar12 + 4" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "iVar22 = iVar22 + iVar12;" (assignment_expression "iVar22 = iVar22 + iVar12" (identifier "iVar22") (= "=") (binary_expression "iVar22 + iVar12" (identifier "iVar22") (+ "+") (identifier "iVar12"))) (; ";")) (} "}")) (else_clause "else if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" (else "else") (if_statement "if (pppppuVar14 == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(pppppuVar14 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar14 == (undefined4 *****)0x0" (identifier "pppppuVar14") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47716" (identifier "local_ac") (+ "+") (number_literal "-0x47716"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined **)(puVar35 + -0x14) = &UNK_0008b886;" (assignment_expression "*(undefined **)(puVar35 + -0x14) = &UNK_0008b886" (pointer_expression "*(undefined **)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008b886" (& "&") (identifier "UNK_0008b886"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (if_statement "if (*(char *)(pppppuVar14 + 0xac7) == '\0') {\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }\n              else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" (if "if") (parenthesized_expression "(*(char *)(pppppuVar14 + 0xac7) == '\0')" (( "(") (binary_expression "*(char *)(pppppuVar14 + 0xac7) == '\0'" (pointer_expression "*(char *)(pppppuVar14 + 0xac7)" (* "*") (cast_expression "(char *)(pppppuVar14 + 0xac7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppuVar14 + 0xac7)" (( "(") (binary_expression "pppppuVar14 + 0xac7" (identifier "pppppuVar14") (+ "+") (number_literal "0xac7")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                uVar20 = 0xffffffe0;\n                iVar19 = 0x20;\n              }" ({ "{") (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" (identifier "uVar20") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "iVar19 = 0x20;" (assignment_expression "iVar19 = 0x20" (identifier "iVar19") (= "=") (number_literal "0x20")) (; ";")) (} "}")) (else_clause "else {\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" (else "else") (compound_statement "{\n                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);\n                uVar20 = -iVar19;\n              }" ({ "{") (expression_statement "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);" (assignment_expression "iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f)" (identifier "iVar19") (= "=") (binary_expression "1 << ((byte)pppppuVar14[0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)pppppuVar14[0xac8] & 0x1f)" (( "(") (binary_expression "(byte)pppppuVar14[0xac8] & 0x1f" (cast_expression "(byte)pppppuVar14[0xac8]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pppppuVar14[0xac8]" (identifier "pppppuVar14") ([ "[") (number_literal "0xac8") (] "]"))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar20 = -iVar19;" (assignment_expression "uVar20 = -iVar19" (identifier "uVar20") (= "=") (unary_expression "-iVar19" (- "-") (identifier "iVar19"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppuVar31 = local_f4;" (assignment_expression "ppppppuVar31 = local_f4" (identifier "ppppppuVar31") (= "=") (identifier "local_f4")) (; ";")) (expression_statement "*(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;" (assignment_expression "*(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f" (pointer_expression "*(uint *)(puVar35 + -0xc)" (* "*") (cast_expression "(uint *)(puVar35 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "uVar39 >> 0x1f" (identifier "uVar39") (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;" (assignment_expression "*(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19" (pointer_expression "*(uint *)(puVar35 + -0x24)" (* "*") (cast_expression "(uint *)(puVar35 + -0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (binary_expression "uVar20 & iVar22 + -1 + iVar19" (identifier "uVar20") (& "&") (binary_expression "iVar22 + -1 + iVar19" (binary_expression "iVar22 + -1" (identifier "iVar22") (+ "+") (number_literal "-1")) (+ "+") (identifier "iVar19")))) (; ";")) (expression_statement "*(uint *)(puVar35 + -0x28) = uVar39;" (assignment_expression "*(uint *)(puVar35 + -0x28) = uVar39" (pointer_expression "*(uint *)(puVar35 + -0x28)" (* "*") (cast_expression "(uint *)(puVar35 + -0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x28)" (( "(") (binary_expression "puVar35 + -0x28" (identifier "puVar35") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "ppppppuVar11 = local_a8;" (assignment_expression "ppppppuVar11 = local_a8" (identifier "ppppppuVar11") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31" (pointer_expression "*(undefined4 *******)(puVar35 + -0x2c)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x2c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x2c)" (( "(") (binary_expression "puVar35 + -0x2c" (identifier "puVar35") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (identifier "ppppppuVar31")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11" (pointer_expression "*(undefined4 *******)(puVar35 + -0x30)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x30)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x30)" (( "(") (binary_expression "puVar35 + -0x30" (identifier "puVar35") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (identifier "ppppppuVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x34)" (( "(") (binary_expression "puVar35 + -0x34" (identifier "puVar35") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x38)" (( "(") (binary_expression "puVar35 + -0x38" (identifier "puVar35") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = local_e4;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = local_e4" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x3c)" (( "(") (binary_expression "puVar35 + -0x3c" (identifier "puVar35") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (identifier "local_e4")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x40)" (( "(") (binary_expression "puVar35 + -0x40" (identifier "puVar35") (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b81a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b81a" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x44)" (( "(") (binary_expression "puVar35 + -0x44" (identifier "puVar35") (+ "+") (number_literal "-0x44")) () ")")))) (= "=") (number_literal "0x8b81a")) (; ";")) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" (identifier "iVar19") (= "=") (call_expression "FUN_001e98f0()" (identifier "FUN_001e98f0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1)" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)((int)(undefined4 *******)local_dc + 1)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)(undefined4 *******)local_dc + 1)" (( "(") (binary_expression "(int)(undefined4 *******)local_dc + 1" (cast_expression "(int)(undefined4 *******)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *******)local_dc < ppppppuVar11[0x11])" (( "(") (binary_expression "(undefined4 *******)local_dc < ppppppuVar11[0x11]" (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc")) (< "<") (subscript_expression "ppppppuVar11[0x11]" (identifier "ppppppuVar11") ([ "[") (number_literal "0x11") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_f8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_f8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_f8")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b84e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b84e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b84e")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);" (assignment_expression "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" (identifier "lVar45") (= "=") (call_expression "CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" (identifier "CONCAT44") (argument_list "(local_dc._4_4_,(undefined4 *******)local_dc)" (( "(") (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);" (assignment_expression "local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20)" (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 ******)((ulonglong)lVar45 >> 0x20)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((ulonglong)lVar45 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar45 >> 0x20" (cast_expression "(ulonglong)lVar45" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar45")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_b4._0_4_ = (undefined4 *******)local_a8[0x17];" (assignment_expression "local_b4._0_4_ = (undefined4 *******)local_a8[0x17]" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)local_a8[0x17]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "local_a8[0x17]" (identifier "local_a8") ([ "[") (number_literal "0x17") (] "]")))) (; ";")) (if_statement "if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }" (if "if") (parenthesized_expression "((undefined4 *******)local_b4 != (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);\n          do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);\n        }" ({ "{") (expression_statement "local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);" (assignment_expression "local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82)" (field_expression "local_dc._0_4_" (identifier "local_dc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)((int)local_ac + -0x11cf82)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_ac + -0x11cf82)" (( "(") (binary_expression "(int)local_ac + -0x11cf82" (cast_expression "(int)local_ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_ac")) (+ "+") (number_literal "-0x11cf82")) () ")")))) (; ";")) (do_statement "do {\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);" (do "do") (compound_statement "{\n            ppppppuVar31 = (undefined4 *******)local_b4;\n            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }\n            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;\n            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);\n          }" ({ "{") (expression_statement "ppppppuVar31 = (undefined4 *******)local_b4;" (assignment_expression "ppppppuVar31 = (undefined4 *******)local_b4" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))) (; ";")) (if_statement "if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }" (if "if") (parenthesized_expression "(*(char *)((undefined4 *******)local_b4 + 4) == '\0')" (( "(") (binary_expression "*(char *)((undefined4 *******)local_b4 + 4) == '\0'" (pointer_expression "*(char *)((undefined4 *******)local_b4 + 4)" (* "*") (cast_expression "(char *)((undefined4 *******)local_b4 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((undefined4 *******)local_b4 + 4)" (( "(") (binary_expression "(undefined4 *******)local_b4 + 4" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar35 + -0x10) = 0x26;\n                    \n              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;\n              pppppppuVar10 = (undefined4 *******)FUN_002465f0();\n              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];\n              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];\n              local_bc = pppppppuVar10;\n              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];\n              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;\n              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;\n              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;\n              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));\n              ppppppuVar31 = local_ac;\n              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }\n              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);\n              if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }\n              if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }\n              ppppppuVar31 = (undefined4 ******)local_a8[1];\n              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);\n              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;\n              pppppuVar26 = ((undefined4 *******)local_b4)[5];\n              local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);\n              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;\n              uVar20 = uVar39 + local_d4;\n              iVar19 = uVar20 + (int)pppppuVar26;\n              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);\n              uVar39 = 0x2000000 - (int)local_a8[0x1e];\n              uVar20 = uVar39 - local_d4;\n              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);\n              iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));\n              uVar9 = 4;\n              if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }\n              local_cc._0_4_ = (undefined4 *******)iVar19;\n              local_cc._4_4_ = (undefined4 *****)uVar32;\n              *(undefined4 *)(puVar35 + -8) = 0;\n              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;\n              *(undefined4 *)(puVar35 + -0x10) = 0;\n              *(undefined4 *)(puVar35 + -0x14) = 2;\n              *(undefined4 *)(puVar35 + -0x18) = 0;\n              *(undefined4 *)(puVar35 + -0x1c) = 0;\n              *(undefined4 *)(puVar35 + -0x20) = 0;\n              *(undefined4 *)(puVar35 + -0x24) = uVar9;\n              *(uint *)(puVar35 + -0x28) = uVar32;\n              *(int *)(puVar35 + -0x2c) = iVar19;\n              *(undefined4 *******)(puVar35 + -0x30) = local_a8;\n              *(undefined4 *)(puVar35 + -0x34) = 5;\n              *(undefined4 *)(puVar35 + -0x38) = 0;\n              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;\n              *(undefined4 *)(puVar35 + -0x40) = param_4;\n              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;\n              iVar19 = FUN_001e98f0();\n              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0x26;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0x26" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x26")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b00a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b00a" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b00a")) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)FUN_002465f0();" (assignment_expression "pppppppuVar10 = (undefined4 *******)FUN_002465f0()" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)FUN_002465f0()" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_002465f0()" (identifier "FUN_002465f0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "ppppppuVar31[2]" (identifier "ppppppuVar31") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (subscript_expression "ppppppuVar31[1]" (identifier "ppppppuVar31") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_bc = pppppppuVar10;" (assignment_expression "local_bc = pppppppuVar10" (identifier "local_bc") (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "*(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];" (assignment_expression "*(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24]" (pointer_expression "*(undefined4 ******)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 ******)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "local_a8[0x24]" (identifier "local_a8") ([ "[") (number_literal "0x24") (] "]"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc" (pointer_expression "*(undefined4 ********)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc"))) (; ";")) (expression_statement "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;" (assignment_expression "*(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10" (pointer_expression "*(undefined4 ********)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 ********)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = 0x8b02f;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = 0x8b02f" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8b02f")) (; ";")) (expression_statement "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));" (call_expression "sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" (identifier "sprintf") (argument_list "(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c))" (( "(") (pointer_expression "*(char **)(puVar35 + -0x20)" (* "*") (cast_expression "(char **)(puVar35 + -0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar35 + -0x1c)" (* "*") (cast_expression "(char **)(puVar35 + -0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) () ")"))) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0)" (( "(") (binary_expression "(undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)(*local_c4)[2]" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "(*local_c4)[2]" (parenthesized_expression "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;\n                *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;\n                    \n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47716" (identifier "local_ac") (+ "+") (number_literal "-0x47716"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;" (assignment_expression "*(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93" (pointer_expression "*(int *)(puVar35 + -0x10)" (* "*") (cast_expression "(int *)(puVar35 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppppppuVar31 + -0x131d93" (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8c0f0" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c0f0")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);" (assignment_expression "uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (identifier "uVar39") (= "=") (binary_expression "1 << ((byte)(*local_c4)[2][0xac8] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(*local_c4)[2][0xac8] & 0x1f)" (( "(") (binary_expression "(byte)(*local_c4)[2][0xac8] & 0x1f" (subscript_expression "(byte)(*local_c4)[2][0xac8]" (subscript_expression "(byte)(*local_c4)[2]" (call_expression "(byte)(*local_c4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*local_c4)" (( "(") (pointer_expression "*local_c4" (* "*") (identifier "local_c4")) () ")"))) ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0xac8") (] "]")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar39 < 0x20) {\n                uVar39 = 0x20;\n              }" (if "if") (parenthesized_expression "(uVar39 < 0x20)" (( "(") (binary_expression "uVar39 < 0x20" (identifier "uVar39") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                uVar39 = 0x20;\n              }" ({ "{") (expression_statement "uVar39 = 0x20;" (assignment_expression "uVar39 = 0x20" (identifier "uVar39") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (if_statement "if (((uint)local_a8[7] & 1) == 0) {\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(((uint)local_a8[7] & 1) == 0)" (( "(") (binary_expression "((uint)local_a8[7] & 1) == 0" (parenthesized_expression "((uint)local_a8[7] & 1)" (( "(") (binary_expression "(uint)local_a8[7] & 1" (cast_expression "(uint)local_a8[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[7]" (identifier "local_a8") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;\n                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;\n                    \n                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;\n                FUN_000da200();\n              }" ({ "{") (expression_statement "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;" (assignment_expression "*(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743" (pointer_expression "*(undefined4 *******)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_ac + -0x47743" (identifier "local_ac") (+ "+") (number_literal "-0x47743"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x47469" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8b090;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8b090" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8b090")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppuVar31 = (undefined4 ******)local_a8[1];" (assignment_expression "ppppppuVar31 = (undefined4 ******)local_a8[1]" (identifier "ppppppuVar31") (= "=") (cast_expression "(undefined4 ******)local_a8[1]" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "local_a8[1]" (identifier "local_a8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);" (assignment_expression "puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31)" (identifier "puVar23") (= "=") (cast_expression "(undefined *)((uVar39 - 1) + (int)ppppppuVar31)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar39 - 1) + (int)ppppppuVar31)" (( "(") (binary_expression "(uVar39 - 1) + (int)ppppppuVar31" (parenthesized_expression "(uVar39 - 1)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")")) (+ "+") (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31"))) () ")")))) (; ";")) (expression_statement "local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;" (assignment_expression "local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" (identifier "local_d4") (= "=") (binary_expression "(uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39" (call_expression "(uint)((int)local_a8[0x1c] + (int)puVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_a8[0x1c] + (int)puVar23)" (( "(") (binary_expression "(int)local_a8[0x1c] + (int)puVar23" (cast_expression "(int)local_a8[0x1c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0x1c]" (identifier "local_a8") ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23"))) () ")"))) (& "&") (unary_expression "-uVar39" (- "-") (identifier "uVar39")))) (; ";")) (expression_statement "pppppuVar26 = ((undefined4 *******)local_b4)[5];" (assignment_expression "pppppuVar26 = ((undefined4 *******)local_b4)[5]" (identifier "pppppuVar26") (= "=") (subscript_expression "((undefined4 *******)local_b4)[5]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0);" (assignment_expression "local_d0 = (uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (identifier "local_d0") (= "=") (binary_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &\n                         -(uint)(uVar39 != 0)" (call_expression "(uint)((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1))" (( "(") (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +\n                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31)" (binary_expression "(int)local_a8[2] +\n                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (cast_expression "(int)local_a8[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)local_a8[0x1c],(uint)puVar23)" (identifier "CARRY4") (argument_list "((uint)local_a8[0x1c],(uint)puVar23)" (( "(") (cast_expression "(uint)local_a8[0x1c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a8[0x1c]" (identifier "local_a8") ([ "[") (number_literal "0x1c") (] "]"))) (, ",") (cast_expression "(uint)puVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar23")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar39 - 1,(uint)ppppppuVar31)" (identifier "CARRY4") (argument_list "(uVar39 - 1,(uint)ppppppuVar31)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) (, ",") (cast_expression "(uint)ppppppuVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppuVar31")) () ")"))))) (+ "+") (parenthesized_expression "((uVar39 != 0) - 1)" (( "(") (binary_expression "(uVar39 != 0) - 1" (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) () ")"))) () ")"))) (& "&") (unary_expression "-(uint)(uVar39 != 0)" (- "-") (call_expression "(uint)(uVar39 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (expression_statement "uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;" (assignment_expression "uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31" (identifier "uVar39") (= "=") (binary_expression "(int)local_a8[0x1d] - (int)ppppppuVar31" (cast_expression "(int)local_a8[0x1d]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0x1d]" (identifier "local_a8") ([ "[") (number_literal "0x1d") (] "]"))) (- "-") (cast_expression "(int)ppppppuVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuVar31")))) (; ";")) (expression_statement "uVar20 = uVar39 + local_d4;" (assignment_expression "uVar20 = uVar39 + local_d4" (identifier "uVar20") (= "=") (binary_expression "uVar39 + local_d4" (identifier "uVar39") (+ "+") (identifier "local_d4"))) (; ";")) (expression_statement "iVar19 = uVar20 + (int)pppppuVar26;" (assignment_expression "iVar19 = uVar20 + (int)pppppuVar26" (identifier "iVar19") (= "=") (binary_expression "uVar20 + (int)pppppuVar26" (identifier "uVar20") (+ "+") (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26")))) (; ";")) (expression_statement "uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);" (assignment_expression "uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26)" (identifier "uVar32") (= "=") (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26)" (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +\n                       (uint)CARRY4(uVar39,local_d4)" (binary_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0" (parenthesized_expression "(-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2])" (( "(") (binary_expression "-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]" (unary_expression "-(uint)(local_a8[0x1d] < ppppppuVar31)" (- "-") (call_expression "(uint)(local_a8[0x1d] < ppppppuVar31)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_a8[0x1d] < ppppppuVar31)" (( "(") (binary_expression "local_a8[0x1d] < ppppppuVar31" (subscript_expression "local_a8[0x1d]" (identifier "local_a8") ([ "[") (number_literal "0x1d") (] "]")) (< "<") (identifier "ppppppuVar31")) () ")")))) (- "-") (cast_expression "(int)local_a8[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[2]" (identifier "local_a8") ([ "[") (number_literal "2") (] "]")))) () ")")) (+ "+") (identifier "local_d0")) (+ "+") (cast_expression "(uint)CARRY4(uVar39,local_d4)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar39,local_d4)" (identifier "CARRY4") (argument_list "(uVar39,local_d4)" (( "(") (identifier "uVar39") (, ",") (identifier "local_d4") () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar20,(uint)pppppuVar26)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar20,(uint)pppppuVar26)" (identifier "CARRY4") (argument_list "(uVar20,(uint)pppppuVar26)" (( "(") (identifier "uVar20") (, ",") (cast_expression "(uint)pppppuVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar26")) () ")")))))) (; ";")) (expression_statement "uVar39 = 0x2000000 - (int)local_a8[0x1e];" (assignment_expression "uVar39 = 0x2000000 - (int)local_a8[0x1e]" (identifier "uVar39") (= "=") (binary_expression "0x2000000 - (int)local_a8[0x1e]" (number_literal "0x2000000") (- "-") (cast_expression "(int)local_a8[0x1e]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_a8[0x1e]" (identifier "local_a8") ([ "[") (number_literal "0x1e") (] "]"))))) (; ";")) (expression_statement "uVar20 = uVar39 - local_d4;" (assignment_expression "uVar20 = uVar39 - local_d4" (identifier "uVar20") (= "=") (binary_expression "uVar39 - local_d4" (identifier "uVar39") (- "-") (identifier "local_d4"))) (; ";")) (expression_statement "pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);" (assignment_expression "pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1])" (identifier "pppppuVar14") (= "=") (cast_expression "(undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1])" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(uVar20 + (int)((undefined4 *******)local_b4)[1])" (( "(") (binary_expression "uVar20 + (int)((undefined4 *******)local_b4)[1]" (identifier "uVar20") (+ "+") (cast_expression "(int)((undefined4 *******)local_b4)[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[1]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "1") (] "]")))) () ")")))) (; ";")) (expression_statement "iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));" (assignment_expression "iVar22 = (int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" (identifier "iVar22") (= "=") (binary_expression "(int)((undefined4 *******)local_b4)[2] +\n                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" (cast_expression "(int)((undefined4 *******)local_b4)[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined4 *******)local_b4)[2]" (parenthesized_expression "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")")) ([ "[") (number_literal "2") (] "]"))) (+ "+") (parenthesized_expression "(((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26))" (( "(") (binary_expression "((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26)" (parenthesized_expression "((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4)))" (( "(") (binary_expression "(uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +\n                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))" (cast_expression "(uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1])" (identifier "CARRY4") (argument_list "(uVar20,(uint)((undefined4 *******)local_b4)[1])" (( "(") (identifier "uVar20") (, ",") (subscript_expression "(uint)((undefined4 *******)local_b4)[1]" (call_expression "(uint)((undefined4 *******)local_b4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *******)local_b4)" (( "(") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) () ")"))) ([ "[") (number_literal "1") (] "]")) () ")")))) (+ "+") (parenthesized_expression "((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4))" (( "(") (binary_expression "(-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -\n                        (uint)(uVar39 < local_d4)" (parenthesized_expression "(-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e]))" (( "(") (binary_expression "-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])" (unary_expression "-local_d0" (- "-") (identifier "local_d0")) (- "-") (call_expression "(uint)((undefined4 ******)0x2000000 < local_a8[0x1e])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 ******)0x2000000 < local_a8[0x1e])" (( "(") (binary_expression "(undefined4 ******)0x2000000 < local_a8[0x1e]" (cast_expression "(undefined4 ******)0x2000000" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x2000000")) (< "<") (subscript_expression "local_a8[0x1e]" (identifier "local_a8") ([ "[") (number_literal "0x1e") (] "]"))) () ")")))) () ")")) (- "-") (call_expression "(uint)(uVar39 < local_d4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar39 < local_d4)" (( "(") (binary_expression "uVar39 < local_d4" (identifier "uVar39") (< "<") (identifier "local_d4")) () ")")))) () ")"))) () ")")) (- "-") (call_expression "(uint)(pppppuVar14 < pppppuVar26)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppuVar14 < pppppuVar26)" (( "(") (binary_expression "pppppuVar14 < pppppuVar26" (identifier "pppppuVar14") (< "<") (identifier "pppppuVar26")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar9 = 4;" (assignment_expression "uVar9 = 4" (identifier "uVar9") (= "=") (number_literal "4")) (; ";")) (if_statement "if (iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {\n                uVar9 = 0x10;\n              }" (if "if") (parenthesized_expression "(iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26)))" (( "(") (binary_expression "iVar22 != 0 ||\n                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (binary_expression "(uint)-iVar22" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar22")) (< "<") (call_expression "(uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))" (( "(") (binary_expression "0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26)" (number_literal "0x3ffffff") (< "<") (call_expression "(uint)((int)pppppuVar14 - (int)pppppuVar26)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppuVar14 - (int)pppppuVar26)" (( "(") (binary_expression "(int)pppppuVar14 - (int)pppppuVar26" (cast_expression "(int)pppppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar14")) (- "-") (cast_expression "(int)pppppuVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar26"))) () ")")))) () ")"))))) () ")")) (compound_statement "{\n                uVar9 = 0x10;\n              }" ({ "{") (expression_statement "uVar9 = 0x10;" (assignment_expression "uVar9 = 0x10" (identifier "uVar9") (= "=") (number_literal "0x10")) (; ";")) (} "}"))) (expression_statement "local_cc._0_4_ = (undefined4 *******)iVar19;" (assignment_expression "local_cc._0_4_ = (undefined4 *******)iVar19" (field_expression "local_cc._0_4_" (identifier "local_cc") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)iVar19" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "iVar19"))) (; ";")) (expression_statement "local_cc._4_4_ = (undefined4 *****)uVar32;" (assignment_expression "local_cc._4_4_ = (undefined4 *****)uVar32" (field_expression "local_cc._4_4_" (identifier "local_cc") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4 *****)uVar32" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "uVar32"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;" (assignment_expression "*(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f" (pointer_expression "*(uint *)(puVar35 + -0xc)" (* "*") (cast_expression "(uint *)(puVar35 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "uVar32 >> 0x1f" (identifier "uVar32") (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(uint *)(puVar35 + -0x28) = uVar32;" (assignment_expression "*(uint *)(puVar35 + -0x28) = uVar32" (pointer_expression "*(uint *)(puVar35 + -0x28)" (* "*") (cast_expression "(uint *)(puVar35 + -0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x28)" (( "(") (binary_expression "puVar35 + -0x28" (identifier "puVar35") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "uVar32")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x2c) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x2c) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x2c)" (* "*") (cast_expression "(int *)(puVar35 + -0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x2c)" (( "(") (binary_expression "puVar35 + -0x2c" (identifier "puVar35") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x30) = local_a8;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x30) = local_a8" (pointer_expression "*(undefined4 *******)(puVar35 + -0x30)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x30)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x30)" (( "(") (binary_expression "puVar35 + -0x30" (identifier "puVar35") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x34)" (( "(") (binary_expression "puVar35 + -0x34" (identifier "puVar35") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x38)" (( "(") (binary_expression "puVar35 + -0x38" (identifier "puVar35") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = local_bc;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = local_bc" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x3c)" (( "(") (binary_expression "puVar35 + -0x3c" (identifier "puVar35") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (identifier "local_bc")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x40)" (( "(") (binary_expression "puVar35 + -0x40" (identifier "puVar35") (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b31a;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b31a" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x44)" (( "(") (binary_expression "puVar35 + -0x44" (identifier "puVar35") (+ "+") (number_literal "-0x44")) () ")")))) (= "=") (number_literal "0x8b31a")) (; ";")) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" (identifier "iVar19") (= "=") (call_expression "FUN_001e98f0()" (identifier "FUN_001e98f0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;" (assignment_expression "local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4" (field_expression "local_b4._0_4_" (identifier "local_b4") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined4 *******)*(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*(undefined4 *******)local_b4" (* "*") (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4"))))) (; ";")) (expression_statement "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);" (assignment_expression "lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" (identifier "lVar45") (= "=") (call_expression "CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc)" (identifier "CONCAT44") (argument_list "(local_dc._4_4_,(undefined4 *******)local_dc)" (( "(") (field_expression "local_dc._4_4_" (identifier "local_dc") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined4 *******)local_dc" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_dc")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *******)local_b4 != (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)local_b4 != (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_b4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_b4")) (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_dc = lVar45;" (assignment_expression "local_dc = lVar45" (identifier "local_dc") (= "=") (identifier "lVar45")) (; ";")) (expression_statement "local_104 = local_104 + 1;" (assignment_expression "local_104 = local_104 + 1" (identifier "local_104") (= "=") (binary_expression "local_104 + 1" (identifier "local_104") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar44 = local_b4;" (assignment_expression "lVar44 = local_b4" (identifier "lVar44") (= "=") (identifier "local_b4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(undefined4 **)(param_1 + 0x50) != local_104)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 0x50) != local_104" (pointer_expression "*(undefined4 **)(param_1 + 0x50)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x50)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (identifier "local_104")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)(param_1 + 0x28);" (assignment_expression "iVar19 = *(int *)(param_1 + 0x28)" (identifier "iVar19") (= "=") (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")) () ")"))))) (; ";")) (if_statement "if (iVar19 != 0) {\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar9 = 0x2c;\n      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }\n      *(undefined4 *)(puVar35 + -8) = 0;\n      *(undefined4 *)(puVar35 + -0xc) = 0;\n      *(undefined4 *)(puVar35 + -0x10) = 0;\n      *(undefined4 *)(puVar35 + -0x14) = 2;\n      *(undefined4 *)(puVar35 + -0x18) = 0;\n      *(undefined4 *)(puVar35 + -0x1c) = 0;\n      *(undefined4 *)(puVar35 + -0x20) = 0;\n      ppppppuVar31 = local_ac;\n      *(undefined4 *)(puVar35 + -0x24) = uVar9;\n      *(undefined4 *)(puVar35 + -0x28) = 0;\n      *(undefined4 *)(puVar35 + -0x2c) = 8;\n      *(int *)(puVar35 + -0x30) = iVar19;\n      *(undefined4 *)(puVar35 + -0x34) = 5;\n      *(undefined4 *)(puVar35 + -0x38) = 0;\n      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;\n      *(undefined4 *)(puVar35 + -0x40) = param_4;\n      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;\n      iVar19 = FUN_001e98f0();\n      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;\n    }" ({ "{") (expression_statement "uVar9 = 0x2c;" (assignment_expression "uVar9 = 0x2c" (identifier "uVar9") (= "=") (number_literal "0x2c")) (; ";")) (if_statement "if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {\n        uVar9 = 0x38;\n      }" (if "if") (parenthesized_expression "((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2" (pointer_expression "*(byte *)(*(int *)(iVar19 + 0x2c) + 8)" (* "*") (cast_expression "(byte *)(*(int *)(iVar19 + 0x2c) + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar19 + 0x2c) + 8)" (( "(") (binary_expression "*(int *)(iVar19 + 0x2c) + 8" (pointer_expression "*(int *)(iVar19 + 0x2c)" (* "*") (cast_expression "(int *)(iVar19 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar9 = 0x38;\n      }" ({ "{") (expression_statement "uVar9 = 0x38;" (assignment_expression "uVar9 = 0x38" (identifier "uVar9") (= "=") (number_literal "0x38")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar35 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -8)" (( "(") (binary_expression "puVar35 + -8" (identifier "puVar35") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0xc)" (( "(") (binary_expression "puVar35 + -0xc" (identifier "puVar35") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 2;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 2" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x18) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x18)" (( "(") (binary_expression "puVar35 + -0x18" (identifier "puVar35") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x1c) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x1c) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x1c)" (( "(") (binary_expression "puVar35 + -0x1c" (identifier "puVar35") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x20)" (( "(") (binary_expression "puVar35 + -0x20" (identifier "puVar35") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppuVar31 = local_ac;" (assignment_expression "ppppppuVar31 = local_ac" (identifier "ppppppuVar31") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x24) = uVar9;" (assignment_expression "*(undefined4 *)(puVar35 + -0x24) = uVar9" (pointer_expression "*(undefined4 *)(puVar35 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x24)" (( "(") (binary_expression "puVar35 + -0x24" (identifier "puVar35") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x28) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x28) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x28)" (( "(") (binary_expression "puVar35 + -0x28" (identifier "puVar35") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x2c) = 8;" (assignment_expression "*(undefined4 *)(puVar35 + -0x2c) = 8" (pointer_expression "*(undefined4 *)(puVar35 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x2c)" (( "(") (binary_expression "puVar35 + -0x2c" (identifier "puVar35") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (number_literal "8")) (; ";")) (expression_statement "*(int *)(puVar35 + -0x30) = iVar19;" (assignment_expression "*(int *)(puVar35 + -0x30) = iVar19" (pointer_expression "*(int *)(puVar35 + -0x30)" (* "*") (cast_expression "(int *)(puVar35 + -0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x30)" (( "(") (binary_expression "puVar35 + -0x30" (identifier "puVar35") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x34) = 5;" (assignment_expression "*(undefined4 *)(puVar35 + -0x34) = 5" (pointer_expression "*(undefined4 *)(puVar35 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x34)" (( "(") (binary_expression "puVar35 + -0x34" (identifier "puVar35") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar35 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar35 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x38)" (( "(") (binary_expression "puVar35 + -0x38" (identifier "puVar35") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db" (pointer_expression "*(undefined4 *******)(puVar35 + -0x3c)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x3c)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x3c)" (( "(") (binary_expression "puVar35 + -0x3c" (identifier "puVar35") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (binary_expression "ppppppuVar31 + -0x473db" (identifier "ppppppuVar31") (+ "+") (number_literal "-0x473db"))) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x40) = param_4;" (assignment_expression "*(undefined4 *)(puVar35 + -0x40) = param_4" (pointer_expression "*(undefined4 *)(puVar35 + -0x40)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x40)" (( "(") (binary_expression "puVar35 + -0x40" (identifier "puVar35") (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;" (assignment_expression "*(undefined4 *)(puVar35 + -0x44) = 0x8b3a7" (pointer_expression "*(undefined4 *)(puVar35 + -0x44)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x44)" (( "(") (binary_expression "puVar35 + -0x44" (identifier "puVar35") (+ "+") (number_literal "-0x44")) () ")")))) (= "=") (number_literal "0x8b3a7")) (; ";")) (expression_statement "iVar19 = FUN_001e98f0();" (assignment_expression "iVar19 = FUN_001e98f0()" (identifier "iVar19") (= "=") (call_expression "FUN_001e98f0()" (identifier "FUN_001e98f0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(iVar19 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(iVar19 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0008ad00:\n  *(undefined4 *******)(puVar35 + -0x10) = local_10c;" (statement_identifier "LAB_0008ad00") (: ":") (expression_statement "*(undefined4 *******)(puVar35 + -0x10) = local_10c;" (assignment_expression "*(undefined4 *******)(puVar35 + -0x10) = local_10c" (pointer_expression "*(undefined4 *******)(puVar35 + -0x10)" (* "*") (cast_expression "(undefined4 *******)(puVar35 + -0x10)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar35 + -0x10)" (( "(") (binary_expression "puVar35 + -0x10" (identifier "puVar35") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_10c")) (; ";"))) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x8ad0e" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar35 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + -0x14)" (( "(") (binary_expression "puVar35 + -0x14" (identifier "puVar35") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ad0e")) (; ";")) (expression_statement "FUN_000a91a0();" (call_expression "FUN_000a91a0()" (identifier "FUN_000a91a0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return (uint)local_fc & 0xff;" (return "return") (binary_expression "(uint)local_fc & 0xff" (cast_expression "(uint)local_fc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_fc")) (& "&") (number_literal "0xff")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "STB": Some values do not have unique names */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool do_relax(Target_powerpc<64,_false> * this, int pass, Input_objects
   * param_2, Symbol_table * symtab, Layout * layout, Task * task) */

bool __thiscall
anon_unknown.dwarf_2af53c::Target_powerpc<64,_false>::do_relax
          (Target_powerpc<64,_false> *this,int pass,Input_objects *param_2,Symbol_table *symtab,
          Layout *layout,Task *task)

{
  Input_file **ppIVar1;
  uint64_t *puVar2;
  string *psVar3;
  byte *pbVar4;
  Parameters **ppPVar5;
  vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> *pvVar6;
  size_type *psVar7;
  char cVar8;
  Xindex *pXVar9;
  Output_data_save_res<64,_false> *pOVar10;
  _func_int_varargs **pp_Var11;
  code *pcVar12;
  Stub_table<64,_false> *pSVar13;
  float fVar14;
  __bucket_type p_Var15;
  Compute_final_value_status CVar16;
  Timer *pTVar17;
  uint *puVar18;
  pointer ppOVar19;
  vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *pvVar20;
  Errors *pEVar21;
  pointer puVar22;
  General_options *pGVar23;
  pointer pOVar24;
  _func_int_varargs *p_Var25;
  _Hash_node_base *p_Var26;
  pointer pSVar27;
  Output_data_glink<64,_false> *pOVar28;
  Target *pTVar29;
  longlong lVar30;
  Address AVar31;
  Sized_relobj<64,_false> *pSVar32;
  __node_base _Var33;
  Address AVar34;
  uint *puVar35;
  undefined1 uVar36;
  uint uVar37;
  pointer puVar38;
  pointer ppSVar39;
  Powerpc_relobj<64,_false> *pPVar40;
  undefined3 extraout_var;
  char *format;
  __node_base *p_Var41;
  Symbol *pSVar42;
  Target_powerpc<64,_false> *pTVar43;
  Compute_final_local_value_status CVar44;
  Output_section *pOVar45;
  pointer pOVar46;
  int iVar47;
  Relobj *pRVar48;
  Parameters *pPVar49;
  void *pvVar50;
  General_options *pGVar51;
  _Hash_node_base *p_Var52;
  undefined4 uVar53;
  Symbol *pSVar54;
  undefined4 *puVar55;
  undefined4 *puVar56;
  size_t sVar57;
  char *pcVar58;
  int iVar59;
  uint uVar60;
  uchar *puVar61;
  _Hash_node_base *p_Var62;
  pointer pcVar63;
  Powerpc_relobj<64,_false> *pPVar64;
  undefined1 *puVar65;
  __node_gen_type *p_Var66;
  __node_gen_type *p_Var67;
  _Hash_node_base *p_Var68;
  __bucket_type *pp_Var69;
  byte bVar70;
  pointer puVar71;
  pointer ppSVar72;
  size_type sVar73;
  pointer puVar74;
  uint uVar75;
  int iVar76;
  undefined **unaff_EBX;
  pointer puVar77;
  uint uVar78;
  uint uVar79;
  Output_data_plt_powerpc<64,_false> *pOVar80;
  size_t *psVar81;
  size_t *psVar82;
  size_t *psVar83;
  uint uVar84;
  int *piVar85;
  _Hash_node_base *p_Var86;
  Output_data_brlt_powerpc<64,_false> *pOVar87;
  Target *pTVar88;
  _Hash_node_base *p_Var89;
  Compute_final_value_status *pCVar90;
  Compute_final_value_status *pCVar91;
  bool bVar92;
  Value_type VVar93;
  Address AVar94;
  Value VVar95;
  undefined8 uVar96;
  off_t oVar97;
  longlong lVar98;
  uchar auStack_18c [48];
  Target_powerpc<64,_false> *in_stack_fffffeb4;
  Layout *in_stack_fffffeb8;
  Task *in_stack_fffffebc;
  undefined4 in_stack_fffffec0;
  uint local_130;
  size_type *local_12c;
  bool local_121;
  size_type local_120;
  Powerpc_relobj<64,_false> *local_110;
  Output_sections *local_10c;
  Powerpc_relobj<64,_false> *local_108;
  pointer local_104;
  bool local_fc;
  _Hash_node_base *local_f4;
  uint local_e4;
  uint local_dc;
  pointer local_cc;
  uint local_c8;
  uint local_c4;
  uint local_c0;
  Compute_final_value_status *local_bc;
  int local_b8;
  Powerpc_relobj<64,_false> *local_b4;
  int local_b0;
  undefined **local_ac;
  pointer local_a8;
  undefined1 local_a4 [8];
  undefined1 local_9c [8];
  char local_94 [4];
  uint *local_90;
  Powerpc_relobj<64,_false> *local_8c;
  char local_88;
  undefined1 local_84 [4];
  char local_80;
  char localname [9];
  __node_gen_type __node_gen;
  Output_sections os_need_update;
  Compute_final_value_status status;
  Powerpc_relobj<64,_false> *local_3c;
  int local_38;
  Powerpc_relobj<64,_false> *local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  _Hash_node_base *local_24;
  _Hash_node_base *local_20;
  
  uVar36 = (undefined1)in_stack_fffffec0;
  psVar82 = (size_t *)&stack0xfffffeb4;
  if (pass == 1) {
    pGVar51 = gold::parameters->options_;
    if ((this->field_0x8 & 2) == 0) {
      if (pGVar51 == (General_options *)0x0) goto LAB_0008c0b4;
      bVar92 = (pGVar51->plt_thread_safe_).value;
      if (((bVar92 == false) && ((pGVar51->plt_thread_safe_).user_set_via_option == false)) &&
         (bVar92 = (pGVar51->shared_).value, bVar92 == false)) {
        local_a8 = (pointer)Target_powerpc<64,_true>::do_relax::lexical_block_14::lexical_block_14_1
                            ::thread_starter;
        pcVar58 = "pthread_create";
        while( true ) {
          local_a8 = (pointer)((int)local_a8 + 4);
          local_ac = &_GLOBAL_OFFSET_TABLE_;
          pSVar54 = gold::Symbol_table::lookup(symtab,pcVar58,(char *)0x0);
          uVar36 = (undefined1)in_stack_fffffec0;
          unaff_EBX = local_ac;
          if (((pSVar54 != (Symbol *)0x0) && ((char)pSVar54->field_0x2a < '\0')) &&
             (bVar70 = (byte)pSVar54->field_0x2b >> 6, bVar92 = (bool)(bVar70 & 1),
             (bVar70 & 1) != 0)) {
            pGVar51 = gold::parameters->options_;
            goto LAB_0008b0b0;
          }
          if (local_a8 == (pointer)&gold::Archive::vtable) break;
          pcVar58 = *(char **)local_a8;
        }
        pGVar51 = gold::parameters->options_;
        bVar92 = false;
        goto LAB_0008b0b0;
      }
      iVar59 = (pGVar51->stub_group_size_).value;
      this->plt_thread_safe_ = bVar92;
      if (iVar59 != 1) goto LAB_0008b0d5;
LAB_0008bbcb:
      this->stub_group_size_ = 0x1c00000;
    }
    else {
      bVar92 = false;
LAB_0008b0b0:
      this->plt_thread_safe_ = bVar92;
      psVar82 = (size_t *)&stack0xfffffeb4;
      if (pGVar51 == (General_options *)0x0) {
LAB_0008c0b4:
        *(char **)((int)psVar82 + -8) = "options";
        *(undefined4 *)((int)psVar82 + -0xc) = 0x5c;
        *(char **)((int)psVar82 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c0d2;
        gold::do_gold_unreachable
                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),
                   *(char **)((int)psVar82 + -8));
      }
      iVar59 = (pGVar51->stub_group_size_).value;
      if (iVar59 == 1) goto LAB_0008bbcb;
LAB_0008b0d5:
      if (iVar59 == -1) {
        this->stub_group_size_ = -0x1e00000;
      }
      else {
        this->stub_group_size_ = iVar59;
      }
    }
    group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);
    local_cc = (this->stub_tables_).
               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
               ._M_impl._M_start;
    if ((this->stub_tables_).
        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
        ._M_impl._M_finish != local_cc) goto LAB_00088eb5;
    local_120 = 0;
LAB_0008b10a:
    local_110 = (Powerpc_relobj<64,_false> *)0x0;
    iVar59 = 0;
    this->relax_failed_ = false;
  }
  else {
    if ((this->relax_failed_ != false) && (this->relax_fail_count_ < 3)) {
      std::
      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
               *)&this->branch_lookup_table_);
      uVar36 = (undefined1)in_stack_fffffec0;
      ppSVar39 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
      if (ppSVar39 !=
          (this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish) {
        do {
          pSVar13 = *ppSVar39;
          ppSVar39 = ppSVar39 + 1;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   *)in_stack_fffffeb4);
          pSVar13->plt_size_ = 0;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                   *)in_stack_fffffeb4);
          uVar36 = (undefined1)in_stack_fffffec0;
          pSVar13->branch_size_ = 0;
          pSVar13->need_save_res_ = false;
          pSVar13->last_plt_size_ = 0;
          pSVar13->last_branch_size_ = 0;
        } while ((this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_finish != ppSVar39);
        ppSVar72 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_start;
        if (ppSVar39 != ppSVar72) {
          (this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish = ppSVar72;
        }
      }
      local_ac = &_GLOBAL_OFFSET_TABLE_;
      iVar59 = this->stub_group_size_;
      iVar47 = iVar59 + 3;
      if (-1 < iVar59) {
        iVar47 = iVar59;
      }
      iVar59 = (iVar47 >> 2) * 3;
      this->stub_group_size_ = iVar59;
      pcVar58 = gold::program_name;
      format = (char *)gettext("%s: stub group size is too large; retrying with %#x");
      gold::gold_info(format,pcVar58,iVar59);
      group_sections(in_stack_fffffeb4,in_stack_fffffeb8,in_stack_fffffebc,(bool)uVar36);
      unaff_EBX = local_ac;
    }
    local_cc = (this->stub_tables_).
               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
               ._M_impl._M_start;
    if ((this->stub_tables_).
        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
        ._M_impl._M_finish == local_cc) {
LAB_00089837:
      local_120 = (this->branch_lookup_table_)._M_h._M_element_count;
      std::
      _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
      ::clear((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
               *)&this->branch_lookup_table_);
      ppSVar72 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
      if (ppSVar72 ==
          (this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish) goto LAB_0008b10a;
      do {
        unaff_EBX = (undefined **)*ppSVar72;
        ppSVar72 = ppSVar72 + 1;
        std::
        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
        ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                 *)in_stack_fffffeb4);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count = 0;
        std::
        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
        ::clear((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                 *)in_stack_fffffeb4);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize = 0;
        *(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_end_of_storage = false;
        ppSVar39 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_finish;
      } while (ppSVar39 != ppSVar72);
      ppSVar72 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
    }
    else {
LAB_00088eb5:
      psVar83 = (size_t *)&stack0xfffffeb4;
      puVar56 = (undefined4 *)&stack0xfffffeb4;
      psVar82 = (size_t *)&stack0xfffffeb4;
      unaff_EBX = (undefined **)*local_cc;
      iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.field_0x2c;
      pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
               super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;
      iVar47 = *(int *)(iVar59 + 0x84);
      psVar81 = (size_t *)&stack0xfffffeb4;
      if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) {
LAB_0008bf9d:
        *(char **)((int)psVar81 + -8) = "get_output_section_offset";
        *(undefined4 *)((int)psVar81 + -0xc) = 0x7f7;
        *(char **)((int)psVar81 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)psVar81 + -0x14) = 0x8bfbe;
        gold::do_gold_unreachable
                  (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),
                   *(char **)((int)psVar81 + -8));
      }
      uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);
      uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);
      uVar37 = uVar84 & uVar60;
      while( true ) {
        if (uVar37 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/powerpc.cc",0xe02,"do_relax");
        }
        local_cc = local_cc + 1;
        local_b8 = 0;
        iVar59 = (int)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_;
        p_Var89 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_before_begin._M_nxt;
        local_c4 = (int)&p_Var89->_M_nxt + uVar60;
        local_c0 = uVar84 + CARRY4((uint)p_Var89,uVar60);
        local_bc = (Compute_final_value_status *)
                   ((((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.
                    _M_next_resize +
                   (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count);
        if (*(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.section_offsets_.
                      super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                      ._M_impl._M_end_of_storage != false) {
          pOVar10 = ((Target_powerpc<64,_false> *)
                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)->
                    savres_section_;
          if ((pOVar10->field_0x1c & 2) == 0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
          }
          bVar92 = CARRY4((uint)local_bc,*(uint *)&pOVar10->field_0xc);
          local_bc = (Compute_final_value_status *)((int)local_bc + *(uint *)&pOVar10->field_0xc);
          local_b8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;
        }
        if (local_b8 != 0 || local_bc != (Compute_final_value_status *)0x0) {
          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;
          uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
          if (uVar37 < 0x20) {
            uVar37 = 0x20;
          }
          bVar92 = CARRY4(uVar37 - 1,local_c4);
          local_c4 = (uVar37 - 1) + local_c4 & -uVar37;
          local_c0 = ((uVar37 != 0) - 1) + local_c0 + (uint)bVar92 & -(uint)(uVar37 != 0);
        }
        puVar77 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_start;
        puVar74 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_finish;
        puVar38 = (pointer)(((int)local_bc - uVar60) + local_c4);
        puVar71 = (pointer)(((local_b8 - uVar84) - (uint)(local_bc < uVar60)) + local_c0 +
                           (uint)CARRY4((int)local_bc - uVar60,local_c4));
        if (puVar74 < puVar71 || (uint)((int)puVar74 - (int)puVar71) < (uint)(puVar77 < puVar38)) {
          puVar77 = puVar38;
          puVar74 = puVar71;
        }
        bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                           super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                           super_Relobj.super_Object.input_file_;
        *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
             bVar70 & 0xfa;
        if ((bVar70 & 8) == 0) {
          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
               bVar70 & 0xf8;
        }
        else if ((bVar70 & 2) != 0) goto LAB_0008b9d8;
        bVar70 = *(byte *)(iVar59 + 0x1c);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity
             = (size_type)puVar77;
        *(pointer *)
         ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = puVar74
        ;
        if ((bVar70 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
        }
        uVar37 = *(uint *)(iVar59 + 0x14);
        iVar47 = *(int *)(iVar59 + 0x18);
        psVar81 = (size_t *)&stack0xfffffeb4;
        if ((bVar70 & 1) == 0) goto LAB_0008bf5b;
        uVar75 = *(uint *)(iVar59 + 4);
        uVar78 = *(uint *)(iVar59 + 4);
        iVar76 = *(int *)(iVar59 + 8);
        *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.name_.field_2 + 8) =
             uVar60 + *(uint *)(iVar59 + 0x14);
        pPVar49 = (Parameters *)
                  (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =
             (pointer)(uVar60 + uVar78);
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =
             uVar84 + iVar76 + (uint)CARRY4(uVar60,uVar75);
        *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.name_.field_2 + 0xc) =
             uVar84 + iVar47 + (uint)CARRY4(uVar60,uVar37);
        ppIVar1 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;
        *(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;
        (*(code *)pPVar49[1].incremental_mode_)(unaff_EBX);
        if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)
        goto LAB_0008c197;
        ppSVar39 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_finish;
        if (ppSVar39 == local_cc) break;
        unaff_EBX = (undefined **)*local_cc;
        iVar59 = *(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object.field_0x2c;
        pXVar9 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.xindex_;
        iVar47 = *(int *)(iVar59 + 0x84);
        psVar81 = (size_t *)&stack0xfffffeb4;
        if ((Xindex *)(*(int *)(iVar59 + 0x88) - iVar47 >> 3) <= pXVar9) goto LAB_0008bf9d;
        uVar60 = *(uint *)(iVar47 + (int)pXVar9 * 8);
        uVar84 = *(uint *)(iVar47 + 4 + (int)pXVar9 * 8);
        uVar37 = uVar84 & uVar60;
      }
      if (pass != 1) goto LAB_00089837;
      local_120 = 0;
      ppSVar72 = (this->stub_tables_).
                 super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                 ._M_impl._M_start;
    }
    local_110 = (Powerpc_relobj<64,_false> *)0x0;
    iVar59 = (int)ppSVar39 - (int)ppSVar72;
    this->relax_failed_ = false;
    if (ppSVar72 != ppSVar39) {
      local_110 = (Powerpc_relobj<64,_false> *)*ppSVar72;
    }
  }
  local_ac = &_GLOBAL_OFFSET_TABLE_;
  psVar82 = (size_t *)&stack0xfffffeb4;
  psVar81 = (size_t *)&stack0xfffffeb4;
  pPVar40 = (Powerpc_relobj<64,_false> *)0x0;
  if (iVar59 == 4) {
    pPVar40 = local_110;
  }
  local_a8 = (this->branch_info_).
             super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>
             ._M_impl._M_start;
  if ((this->branch_info_).
      super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>
      ._M_impl._M_finish != local_a8) {
    do {
      pPVar64 = local_a8->object_;
      uVar60 = local_a8->r_sym_;
      uVar84 = (pPVar64->super_Sized_relobj_file<64,_false>).local_symbol_count_;
      psVar82 = psVar81;
      local_b4 = pPVar40;
      if (uVar60 < uVar84) {
        pTVar88 = gold::parameters->target_;
        if (pTVar88 == (Target *)0x0) goto LAB_0008c096;
LAB_000899b9:
        pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;
        if ((pTVar88[8].osabi_ == ELFOSABI_NONE) && (pSVar54 != (Symbol *)0x0)) goto LAB_00089257;
LAB_000899d1:
        pSVar54 = (Symbol *)0x0;
        psVar81[-3] = uVar60;
        psVar81[-4] = (size_t)pPVar64;
        psVar81[-5] = 0x899e3;
        bVar92 = gold::Sized_relobj_file<64,_false>::local_has_plt_offset
                           ((Sized_relobj_file<64,_false> *)psVar81[-4],psVar81[-3]);
        unaff_EBX = local_ac;
        if (bVar92) goto LAB_00089ed0;
LAB_000899ee:
        uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
        if (uVar84 - 0xb < 3) {
          local_f4 = (_Hash_node_base *)0x8000;
        }
        else {
          if (((uVar84 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar84 != 0x17)) goto LAB_00089370;
          local_f4 = (_Hash_node_base *)0x2000000;
        }
        pPVar64 = local_a8->object_;
        uVar84 = local_a8->shndx_;
        puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_start;
        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        section_offsets_.
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84) goto LAB_0008bf9d;
        uVar60 = *(uint *)((int)puVar77 + uVar84 * 8 + 4);
        uVar37 = (uint)puVar77[uVar84];
        if ((uVar60 & uVar37) == 0xffffffff) {
          psVar81[-2] = (size_t)"make_stub";
          psVar81[-3] = 0xd3b;
          psVar81[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
          psVar81[-5] = 0x8c39c;
          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
        }
        p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  super_Relobj.super_Object._vptr_Object[0x18];
        if (p_Var25 == gold::Relobj::do_output_section) {
          unaff_EBX = (undefined **)
                      (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.output_sections_.
                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                      ._M_impl._M_start;
          if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.output_sections_.
                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                          ._M_impl._M_finish - (int)unaff_EBX >> 2) <= uVar84) {
LAB_0008c314:
            psVar81[-2] = (size_t)"do_output_section";
            psVar81[-3] = 0x5c8;
            psVar81[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
            psVar81[-5] = 0x8c335;
            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
          }
          pPVar49 = (Parameters *)
                    (&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object)[uVar84]
          ;
        }
        else {
          psVar81[-3] = uVar84;
          psVar81[-4] = (size_t)pPVar64;
          psVar81[-5] = 0x8adac;
          pPVar49 = (Parameters *)(*p_Var25)();
          unaff_EBX = (undefined **)gold::Relobj::do_output_section;
        }
        if (((uint)pPVar49->set_parameters_target_once_ & 1) == 0) goto LAB_0008bf5b;
        pGVar51 = pPVar49->options_;
        pTVar17 = pPVar49->timer_;
        iVar59 = *(int *)((int)&local_a8->offset_ + 4);
        uVar84 = (uint)local_a8->offset_;
        if (pSVar54 == (Symbol *)0x0) {
          pPVar64 = local_a8->object_;
          uVar75 = local_a8->r_sym_;
          pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                    super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                    ._M_impl._M_start;
          if ((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                           ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar75) {
            psVar81[-1] = (size_t)pSVar27;
            psVar81[-2] = (size_t)"local_symbol";
            psVar81[-3] = 0x8c1;
            psVar81[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
            psVar81[-5] = 0x8c2b0;
            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
          }
          status = CFVS_OK;
          local_3c = (Powerpc_relobj<64,_false> *)0xffffffff;
          local_38 = -0x80000000;
          local_34 = (Powerpc_relobj<64,_false> *)0x0;
          local_30 = 0;
          if ((pSVar27[uVar75].field_0xb & 0x10) != 0) {
            local_38 = -0x70000000;
          }
          psVar81[-4] = (size_t)symtab;
          psVar81[-5] = (size_t)&status;
          psVar81[-6] = (size_t)(pSVar27 + uVar75);
          psVar81[-7] = uVar75;
          psVar81[-8] = (size_t)pPVar64;
          unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */
          psVar81[-9] = 0x8a65b;
          CVar44 = gold::Sized_relobj_file<64,_false>::compute_final_local_value
                             ((Sized_relobj_file<64,_false> *)psVar81[-8],psVar81[-7],
                              (Symbol_value<64> *)psVar81[-6],(Symbol_value<64> *)psVar81[-5],
                              (Symbol_table *)psVar81[-4]);
          if ((CVar44 != CFLV_OK) || (-1 < local_38)) {
            psVar81[-4] = (size_t)&status;
            psVar81[-5] = 0x8aebf;
            gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);
            goto LAB_00089370;
          }
          psVar81[-1] = 0;
          psVar81[-2] = 0;
          psVar81[-3] = (size_t)local_a8->object_;
          psVar81[-4] = (size_t)&status;
          psVar81[-5] = 0x8a687;
          VVar95 = gold::Symbol_value<64>::value<false>
                             ((Symbol_value<64> *)psVar81[-4],
                              (Sized_relobj_file<64,_false> *)psVar81[-3],*(Value *)(psVar81 + -2));
          bVar70 = (local_a8->object_->st_other_).
                   super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.
                   _M_start[local_a8->r_sym_];
          psVar81[-4] = (size_t)&status;
          os_need_update._M_h._0_8_ = VVar95 + (1 << (sbyte)((int)(uint)bVar70 >> 5) & 0xfffffffc);
          psVar81[-5] = 0x8a6cf;
          gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)psVar81[-4],psVar81[-3]);
LAB_00089b5e:
          local_bc = &status;
          unaff_EBX = (undefined **)0x0;
          local_10c = (Output_sections *)((uint)os_need_update._M_h._0_8_ + (int)local_a8->addend_);
          local_108 = (Powerpc_relobj<64,_false> *)
                      ((int)((ulonglong)os_need_update._M_h._0_8_ >> 0x20) +
                       *(int *)((int)&local_a8->addend_ + 4) +
                      (uint)CARRY4((uint)os_need_update._M_h._0_8_,(uint)local_a8->addend_));
          os_need_update._M_h._M_bucket_count = (size_type)local_108;
          os_need_update._M_h._M_buckets = (__bucket_type *)local_10c;
          if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {
            puVar22 = (local_a8->object_->stub_table_index_).
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start;
            if (local_a8->shndx_ <
                (uint)((int)(local_a8->object_->stub_table_index_).
                            super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                            _M_finish - (int)puVar22 >> 2)) {
              pTVar29 = gold::parameters->target_;
              if (pTVar29 == (Target *)0x0) {
LAB_0008c3f9:
                    /* WARNING: Subroutine does not return */
                psVar81[-1] = (size_t)&LAB_0008c3fe;
                Powerpc_relobj<64,_false>::set_abiversion
                          ((Powerpc_relobj<64,_false> *)*psVar81,psVar81[1]);
              }
              uVar75 = puVar22[local_a8->shndx_];
              if (uVar75 < (uint)((int)((int)pTVar29[4]._vptr_Target - pTVar29[3].osabi_) >> 2)) {
                local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar29[3].osabi_ + uVar75 * 4);
              }
            }
          }
          if ((pTVar88->processor_specific_flags_ & 2) == 0) {
            psVar81[-2] = (size_t)local_bc;
            psVar81[-3] = (size_t)&os_need_update;
            psVar81[-4] = (size_t)local_a8->object_;
            psVar81[-5] = 0x8b155;
            bVar92 = symval_for_branch((Target_powerpc<64,_false> *)psVar81[-4],
                                       (Symbol_table *)psVar81[-3],(Sized_symbol<64> *)psVar81[-2],
                                       (Powerpc_relobj<64,_false> *)psVar81[-1],(Address *)*psVar81,
                                       (uint *)psVar81[1]);
            if (!bVar92) goto LAB_00089370;
            local_10c = (Output_sections *)os_need_update._M_h._M_buckets;
            local_108 = (Powerpc_relobj<64,_false> *)os_need_update._M_h._M_bucket_count;
          }
          uVar75 = uVar84 + uVar37;
          p_Var89 = (_Hash_node_base *)
                    ((int)&(((Timer *)(pTVar17->pass_times_ + -1))->start_time_).user + uVar75);
          uVar84 = (int)&(pGVar51->help_initializer_).super_Struct_special.super_Struct_var.
                         _vptr_Struct_var +
                   (uint)CARRY4(uVar75,(uint)pTVar17) +
                   iVar59 + uVar60 + (uint)CARRY4(uVar84,uVar37);
          unaff_EBX = (undefined **)0x0;
          if ((uint)((uint)(((int)local_f4 - (int)p_Var89) + (int)local_10c) <
                    (uint)((int)local_f4 * 2)) <=
              (int)local_108 +
              (uint)CARRY4((int)local_f4 - (int)p_Var89,(uint)local_10c) +
              (-(uint)(local_f4 < p_Var89) - uVar84)) {
            if (local_b4 == (Powerpc_relobj<64,_false> *)0x0) {
              pPVar64 = local_a8->object_;
              p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object._vptr_Object[0x10];
              if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {
                psVar81[-2] = local_a8->shndx_;
                psVar81[-3] = (size_t)&(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;
                psVar81[-4] = (size_t)local_bc;
                psVar81[-5] = 0x8bd71;
                elfcpp::Elf_file<64,_false,_gold::Object>::section_name
                          ((Elf_file<64,_false,_gold::Object> *)psVar81[-3],psVar81[-2]);
              }
              else {
                psVar81[-2] = local_a8->shndx_;
                psVar81[-3] = (size_t)pPVar64;
                psVar81[-4] = (size_t)local_bc;
                psVar81[-5] = 0x8bf53;
                (*p_Var25)();
              }
              CVar16 = status;
              pcVar63 = (local_a8->object_->super_Sized_relobj_file<64,_false>).
                        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus.
                        _M_p;
              psVar81[-5] = (size_t)
                            "%s:%s: branch in non-executable section, no long branch stub for you";
              psVar81[-6] = 0x8bd99;
              uVar53 = gettext();
              psVar81[-3] = CVar16;
              psVar81[-4] = (size_t)pcVar63;
              unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
              psVar81[-5] = uVar53;
                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */
              psVar81[-6] = 0x8bdac;
              gold::gold_warning((char *)psVar81[-5]);
              psVar82 = psVar81 + -1;
              if ((int *)status != &local_38) {
                psVar81[-5] = status;
                psVar81[-6] = 0x8bdc6;
                operator_delete((void *)psVar81[-5]);
                psVar82 = psVar81 + -1;
              }
            }
            else {
              if (pSVar54 == (Symbol *)0x0) {
                local_121 = false;
              }
              else {
                local_121 = false;
                if ((pSVar54->field_0x2a & 7) == 1) {
                  local_121 = (General_options *)(pSVar54->u1_).object ==
                              *(General_options **)&pTVar88[8].are_processor_specific_flags_set_;
                }
              }
              uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
              p_Var86 = (_Hash_node_base *)
                        (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .local_got_offsets_._M_h._M_rehash_policy._M_next_resize;
              psVar81[-4] = 0x1c;
              psVar81[-5] = 0x89c71;
              p_Var52 = (_Hash_node_base *)operator_new(psVar81[-4]);
              local_38 = 0x8000;
              p_Var52->_M_nxt = (_Hash_node_base *)0x0;
              local_3c = local_108;
              local_34 = (Powerpc_relobj<64,_false> *)CONCAT31(local_34._1_3_,local_121);
              p_Var52[2]._M_nxt = (_Hash_node_base *)local_108;
              p_Var52[1]._M_nxt = (_Hash_node_base *)local_10c;
              p_Var52[4]._M_nxt = (_Hash_node_base *)local_34;
              p_Var52[3]._M_nxt = (_Hash_node_base *)0x8000;
              p_Var52[5]._M_nxt = p_Var86;
              status = (Compute_final_value_status)local_10c;
              puVar18 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .super_Relobj.reloc_counts_;
              p_Var68 = (_Hash_node_base *)((uint)local_10c ^ 0x8000);
              psVar81[-4] = (size_t)p_Var68;
              psVar81[-5] = 0x89cef;
              p_Var41 = std::
                        _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                        ::_M_find_before_node
                                  ((_Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent>,_(anonymous_namespace)::Stub_table<64,_false>::Branch_stub_ent_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                                    *)psVar81[-4],psVar81[-3],(key_type *)psVar81[-2],psVar81[-1]);
              if ((p_Var41 == (__node_base *)0x0) || (p_Var41->_M_nxt == (_Hash_node_base *)0x0)) {
                psVar81[-4] = 1;
                psVar81[-5] = (local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;
                psVar81[-6] = (size_t)puVar18;
                psVar81[-7] = (size_t)&(local_b4->super_Sized_relobj_file<64,_false>).
                                       super_Sized_relobj<64,_false>.super_Relobj.dyn_reloc_count_;
                psVar81[-8] = (size_t)local_94;
                psVar81[-9] = 0x89ddd;
                std::__detail::_Prime_rehash_policy::_M_need_rehash
                          (psVar81[-8],psVar81[-7],psVar81[-6]);
                puVar35 = local_90;
                psVar82 = psVar81 + -1;
                if (local_94[0] == '\0') {
                  local_12c = (size_type *)
                              (((Branch_stub_entries *)
                               &(local_b4->super_Sized_relobj_file<64,_false>).
                                super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                }
                else {
                  if (local_90 == (uint *)0x1) {
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_bucket_count = 0;
                    local_12c = &(local_b4->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.local_got_offsets_._M_h.
                                 _M_bucket_count;
                  }
                  else {
                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */
                    psVar81[-2] = 0x89e0d;
                    local_12c = (size_type *)
                                std::__detail::
                                _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>
                                ::_M_allocate_buckets
                                          ((_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>_>_>
                                            *)psVar81[-1],*psVar81);
                  }
                  p_Var62 = ((__node_base *)
                            &(local_b4->super_Sized_relobj_file<64,_false>).
                             super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;
                  ((__node_base *)
                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                   super_Relobj.reloc_bases_)->_M_nxt = (_Hash_node_base *)0x0;
                  if (p_Var62 != (_Hash_node_base *)0x0) {
                    local_130 = 0;
                    do {
                      p_Var26 = p_Var62->_M_nxt;
                      uVar37 = (uint)p_Var62[6]._M_nxt % (uint)puVar35;
                      psVar7 = local_12c + uVar37;
                      if ((__bucket_type)*psVar7 == (__bucket_type)0x0) {
                        p_Var62->_M_nxt =
                             ((__node_base *)
                             &(local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt;
                        ((__node_base *)
                        &(local_b4->super_Sized_relobj_file<64,_false>).
                         super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_)->_M_nxt = p_Var62;
                        *psVar7 = (size_type)
                                  &(local_b4->super_Sized_relobj_file<64,_false>).
                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_bases_;
                        if (p_Var62->_M_nxt != (_Hash_node_base *)0x0) {
                          local_12c[local_130] = (size_type)p_Var62;
                        }
                      }
                      else {
                        p_Var62->_M_nxt = ((__bucket_type)*psVar7)->_M_nxt;
                        ((__bucket_type)*psVar7)->_M_nxt = p_Var62;
                        uVar37 = local_130;
                      }
                      local_130 = uVar37;
                      p_Var62 = p_Var26;
                    } while (p_Var26 != (_Hash_node_base *)0x0);
                  }
                  pp_Var69 = (((Branch_stub_entries *)
                              &(local_b4->super_Sized_relobj_file<64,_false>).
                               super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                  if (pp_Var69 !=
                      (__bucket_type *)
                      &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       local_got_offsets_._M_h._M_bucket_count) {
                    psVar81[-5] = (size_t)pp_Var69;
                    psVar81[-6] = 0x8bccf;
                    operator_delete((void *)psVar81[-5]);
                  }
                  (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  super_Relobj.reloc_counts_ = puVar35;
                  (((Branch_stub_entries *)
                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.sd_)->_M_h)._M_buckets = (__bucket_type *)local_12c;
                  puVar18 = puVar35;
                }
                uVar37 = (uint)p_Var68 % (uint)puVar18;
                unaff_EBX = (undefined **)(uVar37 * 4);
                p_Var52[6]._M_nxt = p_Var68;
                if ((__bucket_type)local_12c[uVar37] == (__bucket_type)0x0) {
                  p_Var52->_M_nxt =
                       ((__node_base *)
                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .super_Relobj.reloc_bases_)->_M_nxt;
                  ((__node_base *)
                  &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                   super_Relobj.reloc_bases_)->_M_nxt = p_Var52;
                  if (p_Var52->_M_nxt == (_Hash_node_base *)0x0) {
                    pp_Var69 = (((Branch_stub_entries *)
                                &(local_b4->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                  }
                  else {
                    pp_Var69 = (((Branch_stub_entries *)
                                &(local_b4->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.sd_)->_M_h)._M_buckets;
                    pp_Var69[(uint)p_Var52->_M_nxt[6]._M_nxt %
                             (uint)(local_b4->super_Sized_relobj_file<64,_false>).
                                   super_Sized_relobj<64,_false>.super_Relobj.reloc_counts_] =
                         p_Var52;
                  }
                  *(__node_base **)
                   ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object._vptr_Object + (int)pp_Var69) =
                       (__node_base *)
                       &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                        .super_Relobj.reloc_bases_;
                }
                else {
                  p_Var52->_M_nxt = ((__bucket_type)local_12c[uVar37])->_M_nxt;
                  (((Branch_stub_entries *)
                   &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.sd_)->_M_h)._M_buckets[uVar37]->_M_nxt = p_Var52;
                }
                psVar7 = &(local_b4->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.first_dyn_reloc_;
                *psVar7 = *psVar7 + 1;
                if (local_121 == false) {
                  psVar81[-2] = 0x8be14;
                  AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)psVar81[-1])
                  ;
                  fVar14 = (local_b4->super_Sized_relobj_file<64,_false>).
                           super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy.
                           _M_max_load_factor;
                  uVar37 = 0x2000000 - (int)fVar14;
                  p_Var68 = (_Hash_node_base *)(uVar37 + (int)p_Var52[1]._M_nxt);
                  uVar75 = (int)p_Var68 - (int)p_Var52[5]._M_nxt;
                  unaff_EBX = (undefined **)
                              ((int)p_Var52[2]._M_nxt +
                              (((((uint)CARRY4(uVar37,(uint)p_Var52[1]._M_nxt) -
                                 (uint)(0x2000000 < (uint)fVar14)) -
                                (uint)(p_Var68 < p_Var52[5]._M_nxt)) - (int)(AVar94 >> 0x20)) -
                              (uint)(uVar75 < (uint)AVar94)));
                  if ((Powerpc_relobj<64,_false> *)unaff_EBX == (Powerpc_relobj<64,_false> *)0x0 &&
                      (uint)(0x3ffffff < uVar75 - (uint)AVar94) <= (uint)-(int)unaff_EBX) {
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 1);
                  }
                  else {
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_rehash_policy._M_next_resize = (size_t)(p_Var86 + 4);
                    pTVar43 = (Target_powerpc<64,_false> *)
                              (local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                              compressed_sections_;
                    sVar73 = (pTVar43->branch_lookup_table_)._M_h._M_element_count;
                    psVar81[-2] = (size_t)local_bc;
                    psVar81[-3] = 0;
                    local_38 = sVar73 * 8;
                    psVar81[-4] = (size_t)&pTVar43->branch_lookup_table_;
                    psVar81[-5] = (size_t)local_9c;
                    status = (Compute_final_value_status)local_10c;
                    local_3c = local_108;
                    psVar81[-6] = 0x8beab;
                    std::
                    _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                    ::_M_emplace<std::pair<long_long_unsigned_int,_unsigned_int>_>();
                    psVar82 = psVar81 + -2;
                  }
                }
                else {
                  *(bool *)&(local_b4->super_Sized_relobj_file<64,_false>).
                            super_Sized_relobj<64,_false>.section_offsets_.
                            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                            ._M_impl._M_end_of_storage = true;
                  psVar82 = psVar81 + -1;
                }
              }
              else {
                psVar81[-4] = (size_t)p_Var52;
                psVar81[-5] = 0x89d13;
                operator_delete((void *)psVar81[-4]);
                unaff_EBX = local_ac;
              }
              if (uVar60 - 0xb < 3) {
                uVar60 = 0x8000;
              }
              else {
                if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17))
                goto LAB_00089370;
                uVar60 = 0x2000000;
              }
              if ((uVar84 & (uint)p_Var89) == 0xffffffff) {
LAB_0008c2e9:
                *(char **)((int)psVar82 + -8) = "can_reach_stub";
                *(undefined4 *)((int)psVar82 + -0xc) = 0x11b2;
                *(char **)((int)psVar82 + -0x10) = "../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)psVar82 + -0x14) = 0x8c30a;
                gold::do_gold_unreachable
                          (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),
                           *(char **)((int)psVar82 + -8));
              }
              psVar82[-1] = 0x89d6b;
              AVar94 = Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar82);
              lVar30 = AVar94 + CONCAT44((-(uint)(p_Var86 < p_Var89) - uVar84) +
                                         (uint)CARRY4((int)p_Var86 - (int)p_Var89,uVar60),
                                         ((int)p_Var86 - (int)p_Var89) + uVar60);
              unaff_EBX = (undefined **)((ulonglong)lVar30 >> 0x20);
              if ((Powerpc_relobj<64,_false> *)(uint)((uint)lVar30 < uVar60 * 2) <= unaff_EBX) {
                psVar81 = psVar82;
                if (gold::parameters->options_ != (General_options *)0x0) goto LAB_0008a1d8;
                goto LAB_0008a2be;
              }
            }
          }
        }
        else if ((pSVar54->field_0x2a & 7) == 0) {
          pGVar23 = (General_options *)(pSVar54->u1_).output_segment;
          if (((uint)(pGVar23->help_initializer_).super_Struct_special.option.helparg & 1) == 0) {
            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
            p_Var25 = (pGVar23->help_initializer_).super_Struct_special.super_Struct_var.
                      _vptr_Struct_var[5];
            if (p_Var25 != gold::Object::do_pluginobj) {
              psVar81[-4] = (size_t)pGVar23;
              psVar81[-5] = 0x8bd01;
              iVar47 = (*p_Var25)();
              if (iVar47 != 0) goto LAB_00089370;
              if ((pSVar54->field_0x2a & 7) != 0) {
                psVar81[-1] = (size_t)pSVar54;
                psVar81[-2] = (size_t)"shndx";
                psVar81[-3] = 0xaa;
                psVar81[-4] = (size_t)"../../gold/symtab.h";
                    /* WARNING: Subroutine does not return */
                psVar81[-5] = (size_t)&UNK_0008bd35;
                gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
              }
            }
            if ((Target *)(pSVar54->u2_).shndx != (Target *)0x0) goto LAB_00089b0f;
            unaff_EBX = (undefined **)0x0;
          }
        }
        else if ((pSVar54->field_0x2a & 7) != 4) {
LAB_00089b0f:
          psVar81[-2] = (size_t)&status;
          psVar81[-3] = (size_t)pSVar54;
          psVar81[-4] = (size_t)symtab;
          psVar81[-5] = 0x89b2b;
          VVar93 = gold::Symbol_table::compute_final_value<64>
                             ((Symbol_table *)psVar81[-4],(Sized_symbol<64> *)psVar81[-3],
                              (Compute_final_value_status *)psVar81[-2]);
          os_need_update._M_h._M_buckets = (__bucket_type *)(int)VVar93;
          os_need_update._M_h._M_bucket_count = (int)(VVar93 >> 0x20);
          unaff_EBX = local_ac;
          if (status == CFVS_OK) {
            os_need_update._M_h._0_8_ =
                 VVar93 + (1 << ((byte)pSVar54->field_0x29 >> 5) & 0xfffffffc);
            goto LAB_00089b5e;
          }
        }
      }
      else {
        unaff_EBX = (undefined **)
                    (pPVar64->super_Sized_relobj_file<64,_false>).symbols_.
                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                    _M_start;
        uVar84 = uVar60 - uVar84;
        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).symbols_.
                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                        _M_finish - (int)unaff_EBX >> 2) <= uVar84) {
          psVar81[-2] = (size_t)"global_symbol";
          psVar81[-3] = 0x8ad;
          psVar81[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
          psVar81[-5] = 0x8c096;
          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
        }
        pSVar54 = *(Symbol **)((int)unaff_EBX + uVar84 * 4);
        pTVar88 = gold::parameters->target_;
        if (pTVar88 == (Target *)0x0) {
LAB_0008c096:
          psVar81[-2] = (size_t)"sized_target";
          psVar81[-3] = 0x73;
          psVar81[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
          psVar81[-5] = 0x8c0b4;
          gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
        }
        if (pSVar54 == (Symbol *)0x0) goto LAB_000899b9;
        if ((pSVar54->field_0x2a & 0x10) == 0) {
          if (((Symbol *)pTVar88[8].osabi_ == pSVar54) &&
             ((Symbol *)pTVar88[9]._vptr_Target != (Symbol *)0x0)) {
            pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;
          }
        }
        else {
          psVar81[-3] = (size_t)pSVar54;
          psVar81[-4] = (size_t)symtab;
          psVar81[-5] = 0x8a11a;
          pSVar42 = gold::Symbol_table::resolve_forwards
                              ((Symbol_table *)psVar81[-4],(Symbol *)psVar81[-3]);
          pSVar54 = (Symbol *)pTVar88[9]._vptr_Target;
          if ((((Symbol *)pTVar88[8].osabi_ != pSVar42) ||
              (unaff_EBX = local_ac, pSVar54 == (Symbol *)0x0)) &&
             (unaff_EBX = local_ac, pSVar54 = pSVar42, pSVar42 == (Symbol *)0x0)) {
            pPVar64 = local_a8->object_;
            uVar60 = local_a8->r_sym_;
            goto LAB_000899d1;
          }
        }
LAB_00089257:
        uVar84 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
        if (uVar84 < 0xfd) {
                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar36 = (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + *(int *)(&DAT_002ec2f4 + uVar84 * 4)))()
          ;
          return (bool)uVar36;
        }
        uVar53 = 0;
        if ((pTVar88->processor_specific_flags_ & 2) == 0) {
          uVar53 = 0x10;
        }
        psVar81[-3] = uVar53;
        psVar81[-4] = (size_t)pSVar54;
        psVar81[-5] = 0x892ab;
        bVar92 = gold::Symbol::use_plt_offset((Symbol *)psVar81[-4],psVar81[-3]);
        if (!bVar92) goto LAB_000899ee;
        if ((pTVar88->processor_specific_flags_ & 2) != 0) {
          pGVar51 = gold::parameters->options_;
          if (pGVar51 != (General_options *)0x0) {
            if (((pGVar51->shared_).value != false) || ((pGVar51->pie_).value != false))
            goto LAB_00089ed0;
            uVar84 = *(uint *)&local_a8->field_0x10;
            psVar81[-1] = 0x89306;
            bVar92 = is_branch_reloc(uVar84 & 0x7fffffff);
            if (bVar92) goto LAB_00089ed0;
            pp_Var11 = pTVar88[2]._vptr_Target;
            if (pp_Var11 == (_func_int_varargs **)0x0) {
              psVar81[-1] = CONCAT31(extraout_var,bVar92);
              psVar81[-2] = (size_t)"glink_section";
              psVar81[-3] = 0x3a3;
              psVar81[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
              psVar81[-5] = 0x8c3f9;
              gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
            }
            if ((pGVar51->plt_align_).user_set_via_option == false) {
              uVar84 = 0xffffffe0;
              iVar59 = 0x20;
            }
            else {
              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
              uVar84 = -iVar59;
            }
            unaff_EBX = (undefined **)((uint)(pp_Var11[0x14] + iVar59 + -1) & uVar84);
            psVar81[-1] = (size_t)&status;
            psVar81[-2] = 0;
            psVar81[-3] = (size_t)(pp_Var11 + 0xc);
            psVar81[-4] = (size_t)local_84;
            psVar81[-5] = 0x89359;
            status = (Compute_final_value_status)pSVar54;
            local_3c = (Powerpc_relobj<64,_false> *)unaff_EBX;
            std::
            _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_unsigned_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
            ::_M_emplace<std::pair<const_gold::Symbol*,_unsigned_int>_>();
            if (local_80 != '\0') {
              unaff_EBX = (undefined **)
                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                                 super_Relobj.super_Object.name_.field_2 + 4);
              pp_Var11[0x14] = (_func_int_varargs *)unaff_EBX;
            }
            goto LAB_00089370;
          }
          goto LAB_0008c0b4;
        }
LAB_00089ed0:
        pPVar64 = local_a8->object_;
        uVar84 = local_a8->shndx_;
        if (pPVar40 == (Powerpc_relobj<64,_false> *)0x0) {
          puVar22 = (pPVar64->stub_table_index_).
                    super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
          ;
          if (uVar84 < (uint)((int)(pPVar64->stub_table_index_).
                                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                                   _M_impl._M_finish - (int)puVar22 >> 2)) {
            pTVar88 = gold::parameters->target_;
            if (pTVar88 == (Target *)0x0) goto LAB_0008c3f9;
            uVar60 = puVar22[uVar84];
            if ((uVar60 < (uint)((int)((int)pTVar88[4]._vptr_Target - pTVar88[3].osabi_) >> 2)) &&
               (local_b4 = *(Powerpc_relobj<64,_false> **)(pTVar88[3].osabi_ + uVar60 * 4),
               local_b4 != (Powerpc_relobj<64,_false> *)0x0)) goto LAB_00089eef;
          }
          local_b4 = local_110;
          if (local_110 == (Powerpc_relobj<64,_false> *)0x0) {
            psVar81[-2] = (size_t)"make_stub";
            psVar81[-3] = 0xd24;
            psVar81[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
            psVar81[-5] = 0x8c291;
            gold::do_gold_unreachable((char *)psVar81[-4],psVar81[-3],(char *)psVar81[-2]);
          }
        }
LAB_00089eef:
        puVar77 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  section_offsets_.
                  super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                  ._M_impl._M_start;
        if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        section_offsets_.
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        ._M_impl._M_finish - (int)puVar77 >> 3) <= uVar84) goto LAB_0008bf9d;
        local_cc = (pointer)puVar77[uVar84];
        local_c8 = *(uint *)((int)puVar77 + uVar84 * 8 + 4);
        if ((local_c8 & (uint)local_cc) != 0xffffffff) {
          p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object._vptr_Object[0x18];
          if (p_Var25 == gold::Relobj::do_output_section) {
            ppOVar19 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       super_Relobj.output_sections_.
                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                       ._M_impl._M_start;
            if ((uint)((int)(pPVar64->super_Sized_relobj_file<64,_false>).
                            super_Sized_relobj<64,_false>.super_Relobj.output_sections_.
                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                            ._M_impl._M_finish - (int)ppOVar19 >> 2) <= uVar84) goto LAB_0008c314;
            pOVar45 = ppOVar19[uVar84];
          }
          else {
            psVar81[-3] = uVar84;
            psVar81[-4] = (size_t)pPVar64;
            psVar81[-5] = 0x8a707;
            pOVar45 = (Output_section *)(*p_Var25)();
          }
          if (((pOVar45->super_Output_data).field_0x1c & 1) == 0) {
LAB_0008bf5b:
            *(char **)((int)psVar81 + -8) = "address";
            *(undefined4 *)((int)psVar81 + -0xc) = 0xc5;
            *(char **)((int)psVar81 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)psVar81 + -0x14) = 0x8bf7c;
            gold::do_gold_unreachable
                      (*(char **)((int)psVar81 + -0x10),*(int *)((int)psVar81 + -0xc),
                       *(char **)((int)psVar81 + -8));
          }
          bVar92 = CARRY4((uint)local_cc,(uint)local_a8->offset_);
          uVar84 = (int)local_cc + (int)local_a8->offset_;
          puVar2 = &(pOVar45->super_Output_data).address_;
          local_cc = (pointer)(uVar84 + (int)*puVar2);
          local_c8 = local_c8 + *(int *)((int)&local_a8->offset_ + 4) + (uint)bVar92 +
                     *(int *)((int)&(pOVar45->super_Output_data).address_ + 4) +
                     (uint)CARRY4(uVar84,(uint)*puVar2);
        }
        cVar8 = local_a8->field_0x13;
        local_38 = (int)local_a8->addend_;
        unaff_EBX = *(undefined ***)((int)&local_a8->addend_ + 4);
        uVar84 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                 local_got_offsets_._M_h._M_element_count;
        uVar60 = *(uint *)&local_a8->field_0x10 & 0x7fffffff;
        pvVar20 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                  super_Relobj.map_to_relocatable_relocs_;
        psVar83 = psVar81;
        local_34 = (Powerpc_relobj<64,_false> *)unaff_EBX;
        local_2c = uVar84;
        if (pSVar54 == (Symbol *)0x0) {
          uVar37 = local_a8->r_sym_;
          pPVar64 = local_a8->object_;
          status = CFVS_OK;
          local_28 = (uint)pvVar20 & 0x3fffffff;
          psVar81[-1] = 0x8a382;
          local_3c = pPVar64;
          local_30 = uVar37;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::
          _M_emplace<std::pair<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>
                    ();
          unaff_EBX = (undefined **)local_8c;
          if (local_88 != '\0') {
            psVar81[-1] = 0x8adcd;
            uVar75 = Stub_table<64,_false>::plt_call_size
                               ((Stub_table<64,_false> *)*psVar81,
                                (const_iterator)
                                ((_Node_iterator_base<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>
                                  *)(psVar81 + 1))->_M_cur);
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = uVar75 + uVar84;
            pGVar51 = gold::parameters->options_;
            if (pGVar51 == (General_options *)0x0) goto LAB_0008c376;
            if ((pGVar51->plt_align_).user_set_via_option == false) {
              uVar78 = 0xffffffe0;
              iVar59 = 0x20;
            }
            else {
              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
              uVar78 = -iVar59;
            }
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = ((uVar75 + uVar84) - 1) + iVar59 & uVar78;
            pTVar43 = (Target_powerpc<64,_false> *)
                      (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.super_Object.compressed_sections_;
            if ((((pTVar43->field_0x8 & 2) != 0) && (pTVar43->plt_localentry0_ != false)) &&
               (((pPVar64->st_other_).
                 super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start
                 [uVar37] & 0xe0) == 0)) {
              pSVar27 = (pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                        super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                        ._M_impl._M_start;
              if ((uint)(((int)(pPVar64->super_Sized_relobj_file<64,_false>).local_values_.
                               super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                               ._M_impl._M_finish - (int)pSVar27 >> 2) * -0x33333333) <= uVar37) {
                    /* WARNING: Subroutine does not return */
                psVar81[-1] = (size_t)&UNK_0008c26a;
                plt_off((Target_powerpc<64,_false> *)*psVar81,
                        (Sized_relobj_file<64,_false> *)psVar81[1],psVar81[2],
                        (Output_data_plt_powerpc<64,_false> **)psVar81[3]);
              }
              if ((((pSVar27[uVar37].field_0xb & 0x40) == 0) &&
                  ((*(uint *)&pSVar27[uVar37].field_0x8 & 0x7ffffff) != 0)) &&
                 ((pSVar27[uVar37].field_0xb & 8) != 0)) {
                puVar65 = (undefined1 *)
                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                                 super_Relobj.super_Object.input_file_ + 3);
                *puVar65 = *puVar65 | 0x80;
                ((Target_powerpc<64,_false> *)
                (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                super_Relobj.super_Object.compressed_sections_)->has_localentry0_ = true;
              }
            }
          }
          if ((-1 < cVar8) &&
             (-1 < (char)*(undefined1 *)
                          ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                 super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                                 super_Relobj.super_Object.input_file_ + 3))) {
            puVar65 = (undefined1 *)
                      ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                             super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                             super_Relobj.super_Object.input_file_ + 3);
            *puVar65 = *puVar65 | 0x40;
          }
          if (uVar60 - 0xb < 3) {
            local_e4 = 0x8000;
          }
          else {
            if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17)) goto LAB_00089370;
            local_e4 = 0x2000000;
          }
          if ((local_c8 & (uint)local_cc) == 0xffffffff) goto LAB_0008c2e9;
          if (gold::parameters->options_ == (General_options *)0x0) {
LAB_0008c192:
                    /* WARNING: Subroutine does not return */
            psVar83[-1] = 0x8c197;
            Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar83);
          }
          uVar60 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
          if (uVar60 < 0x20) {
            uVar60 = 0x20;
          }
          if (((uint)(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                     super_Relobj.super_Object.input_file_ & 1) == 0) goto LAB_0008a0fd;
          psVar3 = &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object.name_;
          pcVar63 = (psVar3->_M_dataplus)._M_p + (uVar60 - 1);
          p_Var89 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_before_begin._M_nxt;
          unaff_EBX = (undefined **)((uint)((int)&p_Var89->_M_nxt + (int)pcVar63) & -uVar60);
          iVar59 = (((uVar60 != 0) - 1) +
                    (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object.name_._M_string_length +
                    (uint)CARRY4(uVar60 - 1,(uint)(psVar3->_M_dataplus)._M_p) +
                    (uint)CARRY4((uint)p_Var89,(uint)pcVar63) & -(uint)(uVar60 != 0)) +
                   (uint)CARRY4(uVar84,(uint)unaff_EBX);
          pPVar64 = (Powerpc_relobj<64,_false> *)unaff_EBX;
        }
        else {
          local_3c = (Powerpc_relobj<64,_false> *)0x0;
          local_30 = 0;
          local_28 = (uint)pvVar20 & 0x3fffffff;
          psVar81[-1] = 0x8a02d;
          status = (Compute_final_value_status)pSVar54;
          std::
          _Hashtable<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_std::allocator<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>,_std::__detail::_Select1st,_std::equal_to<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key>,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
          ::
          _M_emplace<std::pair<(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>_>
                    ();
          pPVar64 = local_8c;
          if (local_88 != '\0') {
            psVar81[-1] = 0x8a4b7;
            uVar37 = Stub_table<64,_false>::plt_call_size
                               ((Stub_table<64,_false> *)*psVar81,
                                (const_iterator)
                                ((_Node_iterator_base<std::pair<const_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_key,_(anonymous_namespace)::Stub_table<64,_false>::Plt_stub_ent>,_true>
                                  *)(psVar81 + 1))->_M_cur);
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = uVar37 + uVar84;
            pTVar43 = (Target_powerpc<64,_false> *)
                      (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.super_Object.compressed_sections_;
            unaff_EBX = (undefined **)local_b4;
            if ((((pTVar43->field_0x8 & 2) != 0) && (pTVar43->plt_localentry0_ != false)) &&
               ((pSVar54->field_0x28 & 0xf) == 2)) {
              if ((pSVar54->field_0x2a & 7) == 0) {
                if ((pSVar54->field_0x2b & 0x20) == 0) {
                  psVar81[-4] = (size_t)(pSVar54->u2_).shndx;
                  psVar81[-5] = 0x8bf3b;
                  bVar92 = gold::Symbol::is_common_shndx(psVar81[-4]);
                  bVar92 = !bVar92;
                  unaff_EBX = local_ac;
                }
                else {
                  bVar92 = (Target *)(pSVar54->u2_).shndx != (Target *)0x0;
                }
              }
              else {
                bVar92 = (pSVar54->field_0x2a & 7) != 4;
              }
              if (((bVar92) && ((pSVar54->field_0x29 & 0xe0) == 0)) &&
                 ((pSVar54->field_0x2c & 0x10) == 0)) {
                puVar65 = (undefined1 *)
                          ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_
                          + 3);
                *puVar65 = *puVar65 | 0x80;
                ((Target_powerpc<64,_false> *)
                (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                super_Relobj.super_Object.compressed_sections_)->has_localentry0_ = true;
                pTVar43 = (Target_powerpc<64,_false> *)
                          (local_b4->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                          compressed_sections_;
              }
              else {
                pTVar43 = (Target_powerpc<64,_false> *)
                          (local_b4->super_Sized_relobj_file<64,_false>).
                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                          compressed_sections_;
              }
            }
            if ((pTVar43->tls_get_addr_opt_ == (Symbol *)0x0) ||
               ((pTVar43->tls_get_addr_ != pSVar54 && (pTVar43->tls_get_addr_opt_ != pSVar54)))) {
              sVar73 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       local_got_offsets_._M_h._M_element_count;
            }
            else {
              pTVar43->has_tls_get_addr_opt_ = true;
              sVar73 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       local_got_offsets_._M_h._M_element_count;
              *(size_type *)&(local_b4->super_Sized_relobj_file<64,_false>).elf_file_.shoff_ =
                   sVar73 - 0x14;
            }
            pGVar51 = gold::parameters->options_;
            if (pGVar51 == (General_options *)0x0) {
LAB_0008c376:
                    /* WARNING: Subroutine does not return */
              psVar81[-1] = 0x8c37b;
              Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar81);
            }
            if ((pGVar51->plt_align_).user_set_via_option == false) {
              uVar37 = 0xffffffe0;
              iVar59 = 0x20;
            }
            else {
              iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
              uVar37 = -iVar59;
            }
            (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
            local_got_offsets_._M_h._M_element_count = (sVar73 - 1) + iVar59 & uVar37;
          }
          if ((-1 < cVar8) &&
             (-1 < (char)*(undefined1 *)
                          ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).
                                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_
                          + 3))) {
            puVar65 = (undefined1 *)
                      ((int)&(pPVar64->super_Sized_relobj_file<64,_false>).
                             super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ + 3
                      );
            *puVar65 = *puVar65 | 0x40;
          }
          if (uVar60 - 0xb < 3) {
            local_e4 = 0x8000;
          }
          else {
            if (((uVar60 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar60 != 0x17)) goto LAB_00089370;
            local_e4 = 0x2000000;
          }
          if ((local_c8 & (uint)local_cc) == 0xffffffff) goto LAB_0008c2e9;
          if (gold::parameters->options_ == (General_options *)0x0) goto LAB_0008c192;
          uVar60 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
          if (uVar60 < 0x20) {
            uVar60 = 0x20;
          }
          if (((uint)(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                     super_Relobj.super_Object.input_file_ & 1) == 0) {
LAB_0008a0fd:
                    /* WARNING: Subroutine does not return */
            psVar81[-1] = (size_t)&UNK_0008a102;
            Stub_table<64,_false>::stub_address((Stub_table<64,_false> *)*psVar81);
          }
          psVar3 = &(local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object.name_;
          pcVar63 = (psVar3->_M_dataplus)._M_p + (uVar60 - 1);
          unaff_EBX = (undefined **)
                      (((uVar60 != 0) - 1) +
                       (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       super_Relobj.super_Object.name_._M_string_length +
                      (uint)CARRY4(uVar60 - 1,(uint)(psVar3->_M_dataplus)._M_p));
          p_Var89 = (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    local_got_offsets_._M_h._M_before_begin._M_nxt;
          pPVar64 = (Powerpc_relobj<64,_false> *)
                    ((uint)((int)&p_Var89->_M_nxt + (int)pcVar63) & -uVar60);
          iVar59 = ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object._vptr_Object +
                    (uint)CARRY4((uint)p_Var89,(uint)pcVar63) & -(uint)(uVar60 != 0)) +
                   (uint)CARRY4(uVar84,(uint)pPVar64);
        }
        uVar84 = (int)&(pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                       super_Relobj.super_Object._vptr_Object + uVar84;
        uVar60 = uVar84 - (int)local_cc;
        if (((iVar59 - local_c8) - (uint)(uVar84 < local_cc)) + (uint)CARRY4(uVar60,local_e4) <
            (uint)(uVar60 + local_e4 < local_e4 * 2)) goto LAB_00089370;
LAB_0008a1d8:
        local_bc = &status;
        psVar82 = psVar81;
        if ((gold::parameters->debug_ & 0x40) != 0) {
          pEVar21 = gold::parameters->errors_;
          piVar85 = *(int **)&(local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.field_0x2c;
          iVar59 = *piVar85;
          *(Xindex **)((int)psVar81 + -8) =
               (local_b4->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
               super_Relobj.super_Object.xindex_;
          *(int **)((int)psVar81 + -0xc) = piVar85;
          *(Compute_final_value_status **)((int)psVar81 + -0x10) = local_bc;
          pcVar12 = *(code **)(iVar59 + 0x40);
          *(undefined4 *)((int)psVar81 + -0x14) = 0x8a1ff;
          (*pcVar12)();
          CVar16 = status;
          uVar53 = *(undefined4 *)
                    (*(int *)&(local_b4->super_Sized_relobj_file<64,_false>).
                              super_Sized_relobj<64,_false>.super_Relobj.super_Object.field_0x2c + 4
                    );
          AVar34 = local_a8->offset_;
          pPVar64 = local_a8->object_;
          p_Var25 = (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                    super_Relobj.super_Object._vptr_Object[0x10];
          if (p_Var25 == gold::Sized_relobj_file<64,_false>::do_section_name) {
            *(uint *)((int)psVar81 + -0xc) = local_a8->shndx_;
            *(Elf_file<64,_false,_gold::Object> **)((int)psVar81 + -0x10) =
                 &(pPVar64->super_Sized_relobj_file<64,_false>).elf_file_;
            *(Output_sections **)((int)psVar81 + -0x14) = &os_need_update;
                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */
            *(undefined4 *)((int)psVar81 + -0x18) = 0x8a258;
            elfcpp::Elf_file<64,_false,_gold::Object>::section_name
                      (*(Elf_file<64,_false,_gold::Object> **)((int)psVar81 + -0x10),
                       *(uint *)((int)psVar81 + -0xc));
          }
          else {
            *(uint *)((int)psVar81 + -0xc) = local_a8->shndx_;
            *(Powerpc_relobj<64,_false> **)((int)psVar81 + -0x10) = pPVar64;
            *(Output_sections **)((int)psVar81 + -0x14) = &os_need_update;
                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */
            *(undefined4 *)((int)psVar81 + -0x18) = 0x8af32;
            (*p_Var25)();
          }
          *(Compute_final_value_status *)((int)psVar81 + -0x10) = CVar16;
          pPVar64 = local_a8->object_;
          *(undefined4 *)((int)psVar81 + -0x14) = uVar53;
          *(int *)((int)psVar81 + -0x18) = (int)AVar34;
          *(__bucket_type **)((int)psVar81 + -0x1c) = os_need_update._M_h._M_buckets;
          *(pointer *)((int)psVar81 + -0x20) =
               (pPVar64->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
               super_Relobj.super_Object.name_._M_dataplus._M_p;
          *(char **)((int)psVar81 + -0x24) =
               "branch at %s:%s+%#lx\ncan\'t reach stub attached to %s:%s";
          *(Errors **)((int)psVar81 + -0x28) = pEVar21;
                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */
          *(undefined4 *)((int)psVar81 + -0x2c) = 0x8a289;
          gold::Errors::debug(*(Errors **)((int)psVar81 + -0x28),*(char **)((int)psVar81 + -0x24));
          if ((__node_base *)os_need_update._M_h._M_buckets != &os_need_update._M_h._M_before_begin)
          {
            *(__bucket_type **)((int)psVar81 + -0x18) = os_need_update._M_h._M_buckets;
            *(undefined4 *)((int)psVar81 + -0x1c) = 0x8a29f;
            operator_delete(*(void **)((int)psVar81 + -0x18));
          }
          psVar82 = (size_t *)((int)psVar81 + -8);
          unaff_EBX = local_ac;
          if ((int *)status != &local_38) {
            unaff_EBX = &_GLOBAL_OFFSET_TABLE_;
            *(Compute_final_value_status *)((int)psVar81 + -0x18) = status;
            *(undefined4 *)((int)psVar81 + -0x1c) = 0x8a2bb;
            operator_delete(*(void **)((int)psVar81 + -0x18));
            psVar82 = (size_t *)((int)psVar81 + -8);
          }
        }
LAB_0008a2be:
        if (this->relax_failed_ == false) {
          this->relax_failed_ = true;
          iVar59 = this->relax_fail_count_ + 1;
          this->relax_fail_count_ = iVar59;
          if (iVar59 < 3) {
            return true;
          }
        }
      }
LAB_00089370:
      local_a8 = local_a8 + 1;
      psVar81 = psVar82;
    } while ((this->branch_info_).
             super__Vector_base<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info,_std::allocator<(anonymous_namespace)::Target_powerpc<64,_false>::Branch_info>_>
             ._M_impl._M_finish != local_a8);
  }
  sVar73 = (this->branch_lookup_table_)._M_h._M_element_count;
  local_fc = sVar73 != local_120;
  if (sVar73 != 0) {
    psVar82[-1] = 0x8b9ca;
    make_brlt_section((Target_powerpc<64,_false> *)*psVar82,(Layout *)psVar82[1]);
  }
  if (sVar73 != local_120) {
    unaff_EBX = (undefined **)this->brlt_section_;
    bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>
                       ).super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;
    *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
              super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ = bVar70 & 0xfa;
    puVar56 = psVar82;
    if ((bVar70 & 8) != 0) {
      if ((bVar70 & 2) == 0) {
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity
             = sVar73 << 4;
        *(undefined4 *)
         ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = 0;
        psVar82[-1] = 0;
        psVar82[-2] = (size_t)"set_data_size";
        psVar82[-3] = 0x218;
        psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
        psVar82[-5] = 0x8c35a;
        gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
      }
      goto LAB_0008b9d8;
    }
    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
    super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2._M_allocated_capacity =
         sVar73 << 4;
    oVar97 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
             super_Sized_relobj<64,_false>.super_Relobj.super_Object.offset_;
    *(undefined4 *)
     ((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
            super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 + 4) = 0;
    *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
              super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
         bVar70 & 0xfa | 2;
    pbVar4 = (byte *)((int)oVar97 + 0x92);
    *pbVar4 = *pbVar4 | 4;
    piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.field_0x2c;
    if (piVar85 != (int *)0x0) {
      bVar70 = *(byte *)(piVar85 + 7);
      *(byte *)(piVar85 + 7) = bVar70 & 0xfa;
      local_a8 = (pointer)*piVar85;
      pcVar12 = *(code **)((int)local_a8 + 0x3c);
      if ((bVar70 & 8) == 0) {
        *(byte *)(piVar85 + 7) = bVar70 & 0xf8;
        if (pcVar12 != gold::Output_data::do_reset_address_and_file_offset) goto LAB_0008bb14;
      }
      else {
        if (pcVar12 != gold::Output_data::do_reset_address_and_file_offset) {
LAB_0008bb14:
          psVar82[-4] = (size_t)piVar85;
          psVar82[-5] = 0x8bb1a;
          (*pcVar12)();
          piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                              super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                              super_Relobj.super_Object.field_0x2c;
        }
        if ((*(byte *)(piVar85 + 7) & 2) != 0) {
LAB_0008b9d8:
          *(char **)((int)puVar56 + -8) = "set_current_data_size_for_child";
          *(undefined4 *)((int)puVar56 + -0xc) = 0x231;
          *(char **)((int)puVar56 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
          *(undefined **)((int)puVar56 + -0x14) = &UNK_0008b9f9;
          gold::do_gold_unreachable
                    (*(char **)((int)puVar56 + -0x10),*(int *)((int)puVar56 + -0xc),
                     *(char **)((int)puVar56 + -8));
        }
        local_a8 = (pointer)*piVar85;
      }
      piVar85[3] = sVar73 * 0x18;
      piVar85[4] = 0;
      psVar82[-4] = (size_t)piVar85;
      pcVar12 = *(code **)((int)local_a8 + 0x38);
      psVar82[-5] = 0x89480;
      (*pcVar12)();
      if ((*(byte *)(piVar85 + 7) & 2) == 0) {
LAB_0008c197:
        *(char **)((int)psVar82 + -8) = "finalize_data_size";
        *(undefined4 *)((int)psVar82 + -0xc) = 0x163;
        *(char **)((int)psVar82 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)psVar82 + -0x14) = 0x8c1b8;
        gold::do_gold_unreachable
                  (*(char **)((int)psVar82 + -0x10),*(int *)((int)psVar82 + -0xc),
                   *(char **)((int)psVar82 + -8));
      }
      pbVar4 = (byte *)(*(int *)(*(int *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                          super_Sized_relobj_file<64,_false>).
                                          super_Sized_relobj<64,_false>.super_Relobj.super_Object.
                                          field_0x2c + 0x20) + 0x92);
      *pbVar4 = *pbVar4 | 4;
    }
  }
  ppSVar39 = (this->stub_tables_).
             super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
             ._M_impl._M_finish;
  if (ppSVar39 !=
      (this->stub_tables_).
      super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
      ._M_impl._M_start) {
    do {
      pSVar13 = ppSVar39[-1];
      if (pSVar13->plt_fde_len_ == 0) {
        if ((this->stub_tables_).
            super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
            ._M_impl._M_start == ppSVar39 + -1) goto LAB_00089528;
      }
      else {
        psVar82[-3] = pSVar13->plt_fde_len_;
        psVar82[-4] = (size_t)pSVar13->plt_fde_;
        psVar82[-5] = 0xc;
        psVar82[-6] = (size_t)"\x01zR";
        psVar82[-7] = (size_t)pSVar13;
        psVar82[-8] = (size_t)layout;
        psVar82[-9] = 0x8950d;
        gold::Layout::remove_eh_frame_for_plt
                  ((Layout *)psVar82[-8],(Output_data *)psVar82[-7],(uchar *)psVar82[-6],psVar82[-5]
                   ,(uchar *)psVar82[-4],psVar82[-3]);
        pSVar13->plt_fde_len_ = 0;
        unaff_EBX = local_ac;
        if ((this->stub_tables_).
            super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
            ._M_impl._M_start == ppSVar39 + -1) goto LAB_00089528;
      }
      ppSVar39 = ppSVar39 + -1;
    } while( true );
  }
  goto LAB_0008a784;
LAB_00089744:
  do {
    unaff_EBX = (undefined **)*ppSVar72;
    piVar85 = *(int **)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        super_Relobj.super_Object.offset_;
    pcVar12 = *(code **)(*piVar85 + 0xc);
    if (pcVar12 == gold::Output_section::do_addralign) {
      uVar96 = *(undefined8 *)(piVar85 + 9);
    }
    else {
      psVar82[-4] = (size_t)piVar85;
                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */
      psVar82[-5] = 0x8a776;
      uVar96 = (*pcVar12)();
    }
    uVar84 = (uint)((ulonglong)uVar96 >> 0x20);
    local_a8 = (pointer)uVar96;
    if (gold::parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */
      psVar82[-1] = 0x8c30f;
      Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);
    }
    local_b4 = (Powerpc_relobj<64,_false> *)
               (1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f));
    if (local_b4 < 0x20) {
      if (uVar84 == 0 && (uint)(0x1f < local_a8) <= -uVar84) {
        piVar85[9] = 0x20;
        piVar85[10] = 0;
        local_b4 = (Powerpc_relobj<64,_false> *)0x20;
LAB_000897c9:
        iVar59 = piVar85[0x2b];
        if (iVar59 != 0) {
          *(Powerpc_relobj<64,_false> **)(iVar59 + 4) = local_b4;
          *(undefined4 *)(iVar59 + 8) = 0;
        }
      }
    }
    else if (uVar84 < (local_a8 < local_b4)) {
      piVar85[9] = (int)local_b4;
      piVar85[10] = 0;
      goto LAB_000897c9;
    }
    fVar14 = (float)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_element_count;
    p_Var15 = (__bucket_type)
              (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
              super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_next_resize;
    if (((((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
         super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_max_load_factor
         != fVar14) ||
       (p_Var15 !=
        (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
        super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_single_bucket)) {
      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
      super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_single_bucket = p_Var15;
      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
      super_Sized_relobj<64,_false>.local_got_offsets_._M_h._M_rehash_policy._M_max_load_factor =
           fVar14;
      CVar16 = *(Compute_final_value_status *)&(*ppSVar72)->field_0x20;
      psVar82[-3] = 1;
      psVar82[-4] = 0;
      status = CVar16;
      psVar82[-5] = (size_t)&__node_gen;
      psVar82[-6] = (size_t)&status;
      psVar82[-7] = (size_t)&os_need_update;
      psVar82[-8] = (size_t)local_a4;
      __node_gen._M_h = (__hashtable_alloc *)&os_need_update;
                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */
      psVar82[-9] = 0x8972b;
      std::
      _Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>
      ::
      _M_insert<gold::Output_section*,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<gold::Output_section*,_false>_>_>_>
                ();
      local_fc = true;
    }
    ppSVar72 = ppSVar72 + 1;
    _Var33._M_nxt = os_need_update._M_h._M_before_begin._M_nxt;
  } while ((this->stub_tables_).
           super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
           ._M_impl._M_finish != ppSVar72);
  for (; _Var33._M_nxt != (_Hash_node_base *)0x0; _Var33._M_nxt = (_Var33._M_nxt)->_M_nxt) {
    lVar30 = 0;
    p_Var89 = _Var33._M_nxt[1]._M_nxt;
    local_a8 = (pointer)p_Var89[0x1b]._M_nxt;
    if (local_a8 != (pointer)p_Var89[0x1c]._M_nxt) {
      do {
        p_Var86 = (_Hash_node_base *)local_a8->object_;
        if (((_Hash_node_base *)((int)local_a8 + 4))->_M_nxt == (_Hash_node_base *)0x0) {
          if ((_Hash_node_base *)0xfffffffb < p_Var86) {
            p_Var52 = ((_Hash_node_base *)((int)local_a8 + 0x10))->_M_nxt;
            p_Var68 = p_Var52->_M_nxt[3]._M_nxt;
            if (p_Var68 == (_Hash_node_base *)gold::Output_section_data::do_addralign) {
              lVar98 = *(longlong *)(p_Var52 + 9);
            }
            else {
              psVar82[-4] = (size_t)p_Var52;
              psVar82[-5] = 0x8ad8e;
              lVar98 = (*(code *)p_Var68)();
              p_Var86 = (_Hash_node_base *)local_a8->object_;
            }
            goto LAB_0008aa09;
          }
LAB_0008aab8:
          local_b0 = (int)((ulonglong)lVar30 >> 0x20);
          local_b4 = (Powerpc_relobj<64,_false> *)lVar30;
          psVar82[-4] = (size_t)local_a8;
          psVar82[-5] = 0x8aacd;
          pRVar48 = gold::Output_section::Input_section::relobj((Input_section *)psVar82[-4]);
          psVar82[-4] = (size_t)local_a8;
          psVar82[-5] = 0x8aadd;
          uVar84 = gold::Output_section::Input_section::shndx((Input_section *)psVar82[-4]);
          pp_Var11 = (pRVar48->super_Object)._vptr_Object;
          *(longlong *)(psVar82 + -2) = lVar30;
          psVar82[-3] = uVar84;
          psVar82[-4] = (size_t)pRVar48;
          p_Var25 = pp_Var11[0x37];
          psVar82[-5] = 0x8aaf6;
          (*p_Var25)();
          if ((_Hash_node_base *)local_a8->object_ != (_Hash_node_base *)0xfffffffc)
          goto LAB_0008aa48;
          local_c8 = 0;
          unaff_EBX = (undefined **)((_Hash_node_base *)((int)local_a8 + 0x10))->_M_nxt;
          lVar98 = lVar30 + ZEXT48((((Powerpc_relobj<64,_false> *)unaff_EBX)->
                                   super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>
                                   .local_got_offsets_._M_h._M_before_begin._M_nxt);
          local_cc = (pointer)((((Powerpc_relobj<64,_false> *)unaff_EBX)->
                               super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                               local_got_offsets_._M_h._M_rehash_policy._M_next_resize +
                              (((Powerpc_relobj<64,_false> *)unaff_EBX)->
                              super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                              local_got_offsets_._M_h._M_element_count);
          if (*(bool *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                        super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                        section_offsets_.
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        ._M_impl._M_end_of_storage != false) {
            pOVar10 = ((Target_powerpc<64,_false> *)
                      (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.compressed_sections_)
                      ->savres_section_;
            if ((pOVar10->field_0x1c & 2) == 0) {
              psVar82[-2] = (size_t)"data_size";
              psVar82[-3] = 0xcf;
              psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
              psVar82[-5] = 0x8c054;
              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
            }
            bVar92 = CARRY4((uint)local_cc,*(uint *)&pOVar10->field_0xc);
            local_cc = (pointer)((int)local_cc + *(uint *)&pOVar10->field_0xc);
            local_c8 = *(int *)&pOVar10->field_0x10 + (uint)bVar92;
          }
          if (local_c8 != 0 || local_cc != (pointer)0x0) {
            if (gold::parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
              psVar82[-1] = 0x8c314;
              Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);
            }
            uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
            if (uVar84 < 0x20) {
              uVar84 = 0x20;
            }
            lVar98 = lVar98 + CONCAT44((uVar84 != 0) - 1,uVar84 - 1);
            lVar98 = CONCAT44(-(uint)(uVar84 != 0) & (uint)((ulonglong)lVar98 >> 0x20),
                              (uint)lVar98 & -uVar84);
          }
          pvVar6 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.section_offsets_;
          puVar77 = (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.section_offsets_.
                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                    ._M_impl._M_finish;
          AVar31._0_4_ = (pvVar6->
                         super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                         )._M_impl._M_start;
          AVar31._4_4_ = (pvVar6->
                         super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                         )._M_impl._M_finish;
          AVar94 = lVar98 + CONCAT44((local_c8 - local_b0) - (uint)(local_cc < local_b4),
                                     (int)local_cc - (int)local_b4);
          puVar74 = (pointer)(AVar94 >> 0x20);
          if (puVar77 < puVar74 ||
              (uint)((int)puVar77 - (int)puVar74) <
              (uint)((pvVar6->
                     super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                     )._M_impl._M_start < (pointer)AVar94)) {
            AVar31 = AVar94;
          }
          bVar70 = *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                             super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                             super_Relobj.super_Object.input_file_;
          *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
               bVar70 & 0xfa;
          if ((bVar70 & 8) == 0) {
            *(byte *)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>)
                      .super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ =
                 bVar70 & 0xf8;
          }
          else if ((bVar70 & 2) != 0) {
            psVar82[-2] = (size_t)"set_current_data_size_for_child";
            psVar82[-3] = 0x231;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
            psVar82[-5] = (size_t)&UNK_0008acc9;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          *(Address *)
           &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
            super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_.field_2 = AVar31;
          if (((uint)p_Var89[7]._M_nxt & 4) == 0) {
            psVar82[-2] = (size_t)"offset";
            psVar82[-3] = 0xe3;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
            psVar82[-5] = 0x8c075;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          p_Var86 = p_Var89[5]._M_nxt;
          p_Var52 = p_Var89[6]._M_nxt;
          if (((uint)p_Var89[7]._M_nxt & 1) == 0) {
            psVar82[-2] = (size_t)"address";
            psVar82[-3] = 0xc5;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8bfdf;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          p_Var68 = p_Var89[1]._M_nxt;
          p_Var62 = p_Var89[1]._M_nxt;
          p_Var26 = p_Var89[2]._M_nxt;
          *(int *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                         super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                         super_Relobj.super_Object.name_.field_2 + 8) =
               (int)&(p_Var89[5]._M_nxt)->_M_nxt + (int)local_b4;
          pPVar49 = (Parameters *)
                    (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                    super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;
          (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
          super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_dataplus._M_p =
               (pointer)((int)&p_Var62->_M_nxt + (int)local_b4);
          (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
          super_Sized_relobj<64,_false>.super_Relobj.super_Object.name_._M_string_length =
               (int)&p_Var26->_M_nxt + (uint)CARRY4((uint)local_b4,(uint)p_Var68) + local_b0;
          *(uint *)((int)&(((Powerpc_relobj<64,_false> *)unaff_EBX)->
                          super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                          super_Relobj.super_Object.name_.field_2 + 0xc) =
               (int)&p_Var52->_M_nxt + (uint)CARRY4((uint)local_b4,(uint)p_Var86) + local_b0;
          ppIVar1 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                     super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_;
          *(byte *)ppIVar1 = *(byte *)ppIVar1 | 5;
          psVar82[-4] = (size_t)unaff_EBX;
          pcVar12 = (code *)pPVar49[1].incremental_mode_;
          psVar82[-5] = 0x8ac5b;
          (*pcVar12)();
          if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                     super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0)
          {
            psVar82[-2] = (size_t)"finalize_data_size";
            psVar82[-3] = 0x163;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8c033;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          lVar98 = lVar30 + AVar31;
          lVar30 = AVar31 + lVar30;
          if (3 < pass) {
            pSVar32 = &(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>
                       ).super_Sized_relobj<64,_false>;
            (pSVar32->section_offsets_).
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.
            _M_impl._M_start = (pointer)(int)AVar31;
            (pSVar32->section_offsets_).
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.
            _M_impl._M_finish = (pointer)(int)(AVar31 >> 0x20);
            lVar30 = lVar98;
          }
        }
        else {
          puVar65 = (undefined1 *)
                    ((int)&((_Hash_node_base *)((int)local_a8 + 4))->_M_nxt[-1]._M_nxt + 3);
          bVar70 = (byte)puVar65;
          bVar92 = ((uint)puVar65 & 0x20) == 0;
          lVar98 = CONCAT44((uint)!bVar92 << (bVar70 & 0x1f),(uint)bVar92 << (bVar70 & 0x1f));
LAB_0008aa09:
          if (lVar98 != 0) {
            lVar30 = lVar30 + -1 + lVar98;
            lVar30 = CONCAT44((uint)((ulonglong)lVar30 >> 0x20) &
                              -((int)((ulonglong)lVar98 >> 0x20) + (uint)((int)lVar98 != 0)),
                              (uint)lVar30 & -(int)lVar98);
          }
          if ((undefined1 *)0x2 < (undefined1 *)((int)&p_Var86->_M_nxt + 3U)) goto LAB_0008aab8;
LAB_0008aa48:
          psVar82[-4] = (size_t)local_a8;
          psVar82[-5] = 0x8aa5c;
          oVar97 = gold::Output_section::Input_section::data_size((Input_section *)psVar82[-4]);
          unaff_EBX = local_ac;
          lVar30 = oVar97 + lVar30;
        }
        local_a8 = (pointer)((int)local_a8 + 0x18);
      } while ((pointer)p_Var89[0x1c]._M_nxt != local_a8);
    }
    pbVar4 = (byte *)((int)&p_Var89[0x24]._M_nxt + 2);
    *pbVar4 = *pbVar4 & 0xfb;
  }
  goto joined_r0x0008acfa;
LAB_00089528:
  if (ppSVar39 + -1 !=
      (this->stub_tables_).
      super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
      ._M_impl._M_finish) {
    pSVar13 = ppSVar39[-1];
    ppPVar5 = &gold::parameters;
    pGVar51 = gold::parameters->options_;
    while (pGVar51 != (General_options *)0x0) {
      unaff_EBX = (undefined **)ppPVar5;
      if ((((pGVar51->ld_generated_unwind_info_).value != false) &&
          (pSVar13->targ_->glink_ != (Output_data_glink<64,_false> *)0x0)) &&
         (pSVar13->branch_size_ + pSVar13->plt_size_ + (uint)pSVar13->need_save_res_ != 0)) {
        puVar61 = pSVar13->plt_fde_ + 9;
        pSVar13->plt_fde_[0] = '\0';
        pSVar13->plt_fde_[1] = '\0';
        pSVar13->plt_fde_[2] = '\0';
        pSVar13->plt_fde_[3] = '\0';
        pSVar13->plt_fde_[4] = '\0';
        pSVar13->plt_fde_[5] = '\0';
        pSVar13->plt_fde_[6] = '\0';
        pSVar13->plt_fde_[7] = '\0';
        pSVar13->plt_fde_[8] = '\0';
        uVar84 = pSVar13->tls_get_addr_opt_bctrl_;
        if (uVar84 != 0xffffffff) {
          uVar60 = uVar84 >> 2;
          if (uVar84 < 0x100) {
            puVar61 = pSVar13->plt_fde_ + 10;
            pSVar13->plt_fde_[9] = (uchar)uVar60 + '@';
          }
          else if (uVar84 < 0x400) {
            pSVar13->plt_fde_[9] = '\x02';
            puVar61 = pSVar13->plt_fde_ + 0xb;
            pSVar13->plt_fde_[10] = (uchar)uVar60;
          }
          else if (uVar84 < 0x40000) {
            pSVar13->plt_fde_[9] = '\x03';
            puVar61 = pSVar13->plt_fde_ + 0xc;
            *(short *)(pSVar13->plt_fde_ + 10) = (short)uVar60;
          }
          else {
            pSVar13->plt_fde_[9] = '\x04';
            puVar61 = pSVar13->plt_fde_ + 0xe;
            *(uint *)(pSVar13->plt_fde_ + 10) = uVar60;
          }
          puVar61[0] = '\x11';
          puVar61[1] = 'A';
          uVar84 = *(uint *)&pSVar13->targ_->field_0x8;
          puVar61[3] = 'D';
          puVar61[4] = '\x06';
          puVar61[5] = 'A';
          puVar61[2] = (-((uVar84 & 2) == 0) & 0xfdU) + 0x7f;
          puVar61 = puVar61 + 6;
        }
        uVar84 = (int)puVar61 - (int)pSVar13->plt_fde_;
        pSVar13->plt_fde_len_ = uVar84;
        psVar82[-3] = uVar84;
        psVar82[-4] = (size_t)pSVar13->plt_fde_;
        psVar82[-5] = 0xc;
        psVar82[-6] = (size_t)"\x01zR";
        psVar82[-7] = (size_t)pSVar13;
        psVar82[-8] = (size_t)layout;
        psVar82[-9] = 0x89654;
        gold::Layout::add_eh_frame_for_plt
                  ((Layout *)psVar82[-8],(Output_data *)psVar82[-7],(uchar *)psVar82[-6],psVar82[-5]
                   ,(uchar *)psVar82[-4],psVar82[-3]);
        unaff_EBX = local_ac;
      }
      if ((this->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
          ._M_impl._M_finish == ppSVar39) {
        os_need_update._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
        ppSVar72 = (this->stub_tables_).
                   super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                   ._M_impl._M_start;
        os_need_update._M_h._M_element_count = 0;
        os_need_update._M_h._M_bucket_count = 1;
        os_need_update._M_h._M_buckets = &os_need_update._M_h._M_single_bucket;
        os_need_update._M_h._M_rehash_policy._M_max_load_factor = 1.0;
        os_need_update._M_h._M_rehash_policy._M_next_resize = 0;
        os_need_update._M_h._M_single_bucket = (__bucket_type)0x0;
        if (ppSVar72 == ppSVar39) goto joined_r0x0008acfa;
        goto LAB_00089744;
      }
      pSVar13 = *ppSVar39;
      ppSVar39 = ppSVar39 + 1;
      ppPVar5 = (Parameters **)unaff_EBX;
      pGVar51 = gold::parameters->options_;
    }
    goto LAB_0008c0b4;
  }
LAB_0008a784:
  os_need_update._M_h._M_bucket_count = 1;
  os_need_update._M_h._M_buckets = &os_need_update._M_h._M_single_bucket;
  os_need_update._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  os_need_update._M_h._M_element_count = 0;
  os_need_update._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  os_need_update._M_h._M_rehash_policy._M_next_resize = 0;
  os_need_update._M_h._M_single_bucket = (__bucket_type)0x0;
joined_r0x0008acfa:
  if (local_fc != false) goto LAB_0008ad00;
  if (sVar73 == 0) {
LAB_0008af56:
    pGVar51 = gold::parameters->options_;
    if (pGVar51 == (General_options *)0x0) {
      psVar82[-1] = (size_t)unaff_EBX;
      psVar82[-2] = (size_t)"options";
      psVar82[-3] = 0x5c;
      psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */
      psVar82[-5] = (size_t)&UNK_0008c216;
      gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
    }
  }
  else {
    pGVar51 = gold::parameters->options_;
    if (pGVar51 == (General_options *)0x0) {
      psVar82[-1] = 0;
      psVar82[-2] = (size_t)"options";
      psVar82[-3] = 0x5c;
      psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */
      psVar82[-5] = 0x8c376;
      gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
    }
    if (((pGVar51->shared_).value != false) || ((pGVar51->pie_).value != false)) {
      pOVar87 = this->brlt_section_;
      bVar70 = (pOVar87->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.field_0x1c;
      if ((bVar70 & 8) == 0) {
        (pOVar87->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        field_0x1c = bVar70 & 0xfd;
      }
      local_a8 = (pointer)pOVar87->rel_;
      bVar70 = (((Reloc_section *)local_a8)->super_Output_data_reloc_base<4,_true,_64,_false>).
               super_Output_data_reloc_generic.super_Output_section_data_build.
               super_Output_section_data.super_Output_data.field_0x1c;
      if ((bVar70 & 8) == 0) {
        (((Reloc_section *)local_a8)->super_Output_data_reloc_base<4,_true,_64,_false>).
        super_Output_data_reloc_generic.super_Output_section_data_build.super_Output_section_data.
        super_Output_data.field_0x1c = bVar70 & 0xfd;
      }
      p_Var89 = (this->branch_lookup_table_)._M_h._M_before_begin._M_nxt;
      if (p_Var89 != (_Hash_node_base *)0x0) {
        while( true ) {
          p_Var86 = p_Var89[1]._M_nxt;
          p_Var52 = p_Var89[2]._M_nxt;
          p_Var68 = p_Var89[3]._M_nxt;
          psVar82[-3] = 1;
          psVar82[-4] = 0;
          psVar82[-5] = (size_t)p_Var68;
          psVar82[-6] = (size_t)pOVar87;
          psVar82[-7] = 0x16;
          psVar82[-8] = (size_t)&status;
          psVar82[-9] = 0x8a935;
          gold::Output_reloc<9,_true,_64,_false>::Output_reloc
                    ((Output_reloc<9,_true,_64,_false> *)psVar82[-8],psVar82[-7],
                     (Output_data *)psVar82[-6],*(Address *)(psVar82 + -5),*(bool *)(psVar82 + -3));
          local_24 = p_Var86;
          local_20 = p_Var52;
          pOVar24 = (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
                    super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                    ._M_impl._M_finish;
          if (pOVar24 ==
              (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
              super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
              ._M_impl._M_end_of_storage) {
            psVar82[-2] = (size_t)&status;
            psVar82[-3] = (size_t)pOVar24;
            psVar82[-4] = (size_t)&((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_
                                   )->relocs_;
            psVar82[-5] = 0x8a975;
            std::
            vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
            ::_M_realloc_insert<const_gold::Output_reloc<4,_true,_64,_false>&>
                      ((vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                        *)psVar82[-4],(Output_reloc<4,_true,_64,_false> *)psVar82[-3],
                       (Output_reloc<4,_true,_64,_false> *)psVar82[-2]);
            pOVar46 = (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
                      super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                      ._M_impl._M_finish;
          }
          else {
            pOVar46 = pOVar24 + 1;
            (pOVar24->rel_).u1_ = (anon_union_4_4_c82d8563_for_u1_)status;
            (pOVar24->rel_).u2_.relobj = (Sized_relobj<64,_false> *)local_3c;
            *(int *)&(pOVar24->rel_).address_ = local_38;
            *(Powerpc_relobj<64,_false> **)((int)&(pOVar24->rel_).address_ + 4) = local_34;
            (pOVar24->rel_).local_sym_index_ = local_30;
            *(uint *)&(pOVar24->rel_).field_0x14 = local_2c;
            (pOVar24->rel_).shndx_ = local_28;
            *(_Hash_node_base **)&pOVar24->addend_ = p_Var86;
            *(_Hash_node_base **)((int)&pOVar24->addend_ + 4) = p_Var52;
            (((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_).
            super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
            ._M_impl._M_finish = pOVar46;
          }
          iVar59 = (int)pOVar46 -
                   (int)(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->relocs_
                        ).
                        super__Vector_base<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>
                        ._M_impl._M_start >> 2;
          iVar47 = iVar59 * 0x38e38e39;
          if (((((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
               super_Output_data_reloc_generic).super_Output_section_data_build.
               super_Output_section_data.super_Output_data.field_0x1c & 2) != 0) {
            psVar82[-1] = iVar47;
            psVar82[-2] = (size_t)"set_current_data_size_for_child";
            psVar82[-3] = 0x231;
            psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8c3da;
            gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
          }
          *(int *)&(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
                   super_Output_data_reloc_generic).super_Output_section_data_build.
                   super_Output_section_data.super_Output_data.data_size_ = iVar59 * 0x55555558;
          *(undefined4 *)
           ((int)&(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
                  super_Output_data_reloc_generic).super_Output_section_data_build.
                  super_Output_section_data.super_Output_data.data_size_ + 4) = 0;
          puVar65 = &(pOVar87->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.field_0x1c;
          *puVar65 = *puVar65 | 0x10;
          if ((local_2c & 0x10000000) != 0) {
            psVar81 = &(((Output_data_reloc_base<4,_true,_64,_false> *)&local_a8->object_)->
                       super_Output_data_reloc_generic).relative_reloc_count_;
            *psVar81 = *psVar81 + 1;
          }
          if ((local_28 != 0xfffffffc) && (local_3c != (Powerpc_relobj<64,_false> *)0x0)) {
            fVar14 = ((_Prime_rehash_policy *)
                     &(local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
                      super_Relobj.dyn_reloc_count_)->_M_max_load_factor;
            if (fVar14 == 0.0) {
              (local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
              super_Relobj.first_dyn_reloc_ = iVar47 - 1;
            }
            ((_Prime_rehash_policy *)
            &(local_3c->super_Sized_relobj_file<64,_false>).super_Sized_relobj<64,_false>.
             super_Relobj.dyn_reloc_count_)->_M_max_load_factor = (float)((int)fVar14 + 1);
          }
          p_Var89 = p_Var89->_M_nxt;
          pOVar87 = this->brlt_section_;
          if (p_Var89 == (_Hash_node_base *)0x0) break;
          local_a8 = (pointer)pOVar87->rel_;
        }
      }
      bVar70 = (pOVar87->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.field_0x1c;
      if ((bVar70 & 2) == 0) {
        if ((bVar70 & 8) != 0) {
          psVar82[-1] = (size_t)p_Var89;
          psVar82[-2] = (size_t)"set_data_size";
          psVar82[-3] = 0x218;
          psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */
          psVar82[-5] = 0x8c265;
          gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
        }
        (pOVar87->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        field_0x1c = bVar70 | 2;
      }
      unaff_EBX = (undefined **)pOVar87->rel_;
      if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                 super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0) {
        pPVar49 = (Parameters *)
                  (((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                  super_Sized_relobj<64,_false>.super_Relobj.super_Object._vptr_Object;
        psVar82[-4] = (size_t)unaff_EBX;
                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */
        pcVar12 = (code *)pPVar49[1].incremental_mode_;
        psVar82[-5] = 0x8b1c8;
        (*pcVar12)();
        if (((uint)(((Powerpc_relobj<64,_false> *)unaff_EBX)->super_Sized_relobj_file<64,_false>).
                   super_Sized_relobj<64,_false>.super_Relobj.super_Object.input_file_ & 2) == 0) {
          psVar82[-1] = (size_t)pOVar87;
          psVar82[-2] = (size_t)"finalize_data_size";
          psVar82[-3] = 0x163;
          psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
          psVar82[-5] = (size_t)&UNK_0008b1f4;
          gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
        }
      }
      goto LAB_0008af56;
    }
  }
  if (((pGVar51->emit_stub_syms_).user_set_via_option == false) ||
     ((pGVar51->emit_stub_syms_).value != false)) {
    local_104 = (this->stub_tables_).
                super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
                ._M_impl._M_start;
    if (local_104 !=
        (this->stub_tables_).
        super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
        ._M_impl._M_finish) {
      do {
        pSVar13 = *local_104;
        uVar84 = (pSVar13->plt_call_stubs_)._M_h._M_element_count;
        if (uVar84 != 0) {
          if (0x3fffffff < uVar84) {
            psVar82[-4] = (size_t)"vector::_M_default_append";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */
            psVar82[-5] = (size_t)&UNK_0008c2c5;
            std::__throw_length_error((char *)psVar82[-4]);
          }
          psVar82[-4] = uVar84 * 4;
                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */
          psVar82[-5] = 0x8b3de;
          puVar55 = (undefined4 *)operator_new(psVar82[-4]);
          puVar56 = puVar55;
          do {
            *puVar56 = 0;
            puVar56 = puVar56 + 1;
          } while (puVar56 != puVar55 + uVar84);
          for (p_Var89 = (pSVar13->plt_call_stubs_)._M_h._M_before_begin._M_nxt;
              p_Var89 != (_Hash_node_base *)0x0; p_Var89 = p_Var89->_M_nxt) {
            puVar55[(int)p_Var89[7]._M_nxt] = p_Var89;
          }
          local_dc = 0;
          if ((pSVar13->plt_call_stubs_)._M_h._M_element_count != 0) {
            do {
              __node_gen._M_h = __node_gen._M_h & 0xffffff00;
              iVar59 = puVar55[local_dc];
              if (*(int *)(iVar59 + 0xc) != 0 || *(int *)(iVar59 + 0x10) != 0) {
                psVar82[-2] = *(int *)(iVar59 + 0xc);
                psVar82[-3] = (size_t)&DAT_002f7061;
                psVar82[-4] = (size_t)&__node_gen;
                psVar82[-5] = 0x8b8bc;
                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);
              }
              status = status & 0xffffff00;
              if (*(int *)(iVar59 + 8) != 0) {
                psVar82[-2] = *(undefined4 *)(*(int *)(iVar59 + 8) + 0x13c);
                psVar82[-3] = (size_t)&DAT_002f7065;
                psVar82[-4] = (size_t)&status;
                psVar82[-5] = 0x8b4a9;
                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);
              }
              pSVar54 = *(Symbol **)(iVar59 + 4);
              if (pSVar54 == (Symbol *)0x0) {
                psVar82[-2] = *(undefined4 *)(iVar59 + 0x14);
                psVar82[-3] = (size_t)&DAT_002f7062;
                psVar82[-4] = (size_t)localname;
                psVar82[-5] = 0x8b955;
                sprintf((char *)psVar82[-4],(char *)psVar82[-3]);
                pCVar91 = &status;
                pcVar58 = localname;
              }
              else {
                pSVar42 = pSVar13->targ_->tls_get_addr_opt_;
                if ((pSVar42 == (Symbol *)0x0) ||
                   ((pSVar13->targ_->tls_get_addr_ != pSVar54 && (pSVar54 != pSVar42)))) {
                  pCVar91 = &status;
                  pcVar58 = pSVar54->name_;
                }
                else {
                  pCVar91 = &status;
                  pcVar58 = pSVar42->name_;
                }
              }
              do {
                pCVar90 = pCVar91;
                uVar60 = *pCVar90 + 0xfefefeff & ~*pCVar90;
                uVar84 = uVar60 & 0x80808080;
                pCVar91 = pCVar90 + 1;
              } while (uVar84 == 0);
              bVar92 = (uVar60 & 0x8080) == 0;
              if (bVar92) {
                uVar84 = uVar84 >> 0x10;
              }
              if (bVar92) {
                pCVar91 = (Compute_final_value_status *)((int)pCVar90 + 6);
              }
              psVar82[-4] = (size_t)pcVar58;
              psVar82[-5] = 0x8b53f;
              sVar57 = strlen((char *)psVar82[-4]);
              p_Var67 = &__node_gen;
              do {
                p_Var66 = p_Var67;
                uVar37 = (uint)(p_Var66->_M_h + -0x1010101) & ~(uint)p_Var66->_M_h;
                uVar60 = uVar37 & 0x80808080;
                p_Var67 = p_Var66 + 1;
              } while (uVar60 == 0);
              bVar92 = (uVar37 & 0x8080) == 0;
              if (bVar92) {
                uVar60 = uVar60 >> 0x10;
              }
              if (bVar92) {
                p_Var67 = (__node_gen_type *)((int)&p_Var66[1]._M_h + 2);
              }
              psVar82[-4] = (int)pCVar91 +
                            (int)p_Var67 +
                            sVar57 + (-(int)&status - (uint)CARRY1((byte)uVar84,(byte)uVar84)) + 0xd
                            + (-(int)&__node_gen - (uint)CARRY1((byte)uVar60,(byte)uVar60));
                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */
              psVar82[-5] = 0x8b597;
              pvVar50 = operator_new__(psVar82[-4]);
              psVar82[-3] = (size_t)&__node_gen;
              psVar82[-4] = (size_t)pcVar58;
              psVar82[-5] = (size_t)&status;
              psVar82[-6] = pSVar13->uniq_;
              psVar82[-7] = (size_t)"%08x.plt_call.%s%s%s";
              psVar82[-8] = (size_t)pvVar50;
              psVar82[-9] = 0x8b5c7;
              sprintf((char *)psVar82[-8],(char *)psVar82[-7]);
              if (gold::parameters->options_ == (General_options *)0x0) {
                psVar82[-2] = (size_t)"options";
                psVar82[-3] = 0x5c;
                psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */
                psVar82[-5] = 0x8c10e;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
              if (uVar84 < 0x20) {
                uVar84 = 0x20;
              }
              if ((pSVar13->field_0x1c & 1) == 0) {
                psVar82[-2] = (size_t)"address";
                psVar82[-3] = 0xc5;
                psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = (size_t)&UNK_0008b624;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              uVar60 = *(uint *)((int)&pSVar13->invalid_address + 4);
              uVar75 = (uVar84 - 1) + uVar60;
              uVar78 = pSVar13->orig_data_size_ + uVar75 & -uVar84;
              uVar37 = *(uint *)(iVar59 + 0x18);
              iVar47 = *(int *)(iVar59 + 4);
              uVar79 = uVar78 - uVar60;
              uVar84 = (((((uVar84 != 0) - 1) + *(int *)&pSVar13->field_0x8 +
                          (uint)CARRY4(uVar84 - 1,uVar60) +
                          (uint)CARRY4(pSVar13->orig_data_size_,uVar75) & -(uint)(uVar84 != 0)) -
                        *(int *)&pSVar13->field_0x8) - (uint)(uVar78 < uVar60)) +
                       (uint)CARRY4(uVar79,uVar37);
              pTVar43 = pSVar13->targ_;
              if (iVar47 == 0) {
                piVar85 = *(int **)(iVar59 + 8);
                uVar60 = *(uint *)(iVar59 + 0x14);
                if ((uint)((piVar85[0x38] - piVar85[0x37] >> 2) * -0x33333333) <= uVar60) {
                  psVar82[-2] = (size_t)"local_symbol";
                  psVar82[-3] = 0x8c1;
                  psVar82[-4] = (size_t)"../../gold/object.h";
                    /* WARNING: Subroutine does not return */
                  psVar82[-5] = 0x8c246;
                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                }
                if ((*(byte *)(piVar85[0x37] + 0xb + uVar60 * 0x14) & 0x40) == 0) {
                  pOVar80 = pTVar43->lplt_;
                }
                else {
                  pOVar80 = pTVar43->iplt_;
                  if (pOVar80 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                    psVar82[-1] = uVar60 * 5;
                    psVar82[-2] = (size_t)"iplt_section";
                    psVar82[-3] = 0x372;
                    psVar82[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */
                    psVar82[-5] = 0x8c3bb;
                    gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                  }
                }
                iVar47 = *piVar85;
                psVar82[-3] = uVar60;
                psVar82[-4] = (size_t)piVar85;
                pcVar12 = *(code **)(iVar47 + 0xa8);
                psVar82[-5] = 0x8b915;
                iVar47 = (*pcVar12)();
              }
              else {
                if ((*(byte *)(iVar47 + 0x28) & 0xf) == 10) {
                  if ((*(byte *)(iVar47 + 0x2a) & 7) == 0) goto LAB_0008b9a0;
                  if ((*(byte *)(iVar47 + 0x2a) & 7) != 4) {
                    while( true ) {
                      psVar82[-4] = iVar47;
                      psVar82[-5] = 0x8b982;
                      bVar92 = gold::Symbol::is_preemptible((Symbol *)psVar82[-4]);
                      if (bVar92) break;
                      pOVar80 = pTVar43->iplt_;
                      if (pOVar80 != (Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_0008b6e1;
                      psVar82[-1] = 0x8b99d;
                      iplt_section((Target_powerpc<64,_false> *)*psVar82);
                      pTVar43 = (Target_powerpc<64,_false> *)0x0;
LAB_0008b9a0:
                      if (((*(byte *)(*(int *)(iVar47 + 8) + 0x2c) & 1) != 0) ||
                         ((*(int *)(iVar47 + 0xc) == 0 && ((*(byte *)(iVar47 + 0x2b) & 0x20) != 0)))
                         ) break;
                    }
                  }
                }
                pOVar80 = pTVar43->plt_;
                if (pOVar80 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                  psVar82[-2] = (size_t)"plt_section";
                  psVar82[-3] = 0x36a;
                  psVar82[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */
                  psVar82[-5] = 0x8c2e9;
                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                }
LAB_0008b6e1:
                iVar47 = *(int *)(iVar47 + 0x18);
                if (iVar47 == -1) {
                  psVar82[-2] = (size_t)"plt_offset";
                  psVar82[-3] = 0x1ce;
                  psVar82[-4] = (size_t)"../../gold/symtab.h";
                    /* WARNING: Subroutine does not return */
                  psVar82[-5] = 0x8c12f;
                  gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
                }
              }
              if (((pOVar80->super_Output_section_data_build).super_Output_section_data.
                   super_Output_data.field_0x1c & 1) == 0) {
                psVar82[-2] = (size_t)"address";
                psVar82[-3] = 0xc5;
                psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = 0x8c150;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              pTVar43 = pSVar13->targ_;
              if (pTVar43->got_ == (Output_data_got_powerpc<64,_false> *)0x0) {
                psVar82[-2] = (size_t)"got_section";
                psVar82[-3] = 0x3ae;
                psVar82[-4] = (size_t)"../../gold/powerpc.cc";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = 0x8c171;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              pOVar45 = (pTVar43->got_->super_Output_data_got<64,_false>).super_Output_data_got_base
                        .super_Output_section_data_build.super_Output_section_data.output_section_;
              if (((pOVar45->super_Output_data).field_0x1c & 1) == 0) {
                psVar82[-2] = (size_t)"address";
                psVar82[-3] = 0xc5;
                psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */
                psVar82[-5] = 0x8c012;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              iVar47 = (iVar47 - (int)(pOVar45->super_Output_data).address_) + -0x8000 +
                       (int)(pOVar80->super_Output_section_data_build).super_Output_section_data.
                            super_Output_data.address_;
              uVar60 = iVar47 + 0x8000U >> 0x10;
              uVar75 = -(uint)(uVar60 == 0) & 0xfffffffc;
              iVar76 = uVar75 + 0x14;
              if ((pTVar43->tls_get_addr_opt_ != (Symbol *)0x0) &&
                 ((*(Symbol **)(iVar59 + 4) == pTVar43->tls_get_addr_ ||
                  (*(Symbol **)(iVar59 + 4) == pTVar43->tls_get_addr_opt_)))) {
                iVar76 = uVar75 + 0x48;
              }
              pGVar51 = gold::parameters->options_;
              if ((pTVar43->field_0x8 & 2) == 0) {
                if (pGVar51 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */
                  psVar82[-1] = 0x8c225;
                  Stub_table<64,_false>::stub_align((Stub_table<64,_false> *)*psVar82);
                }
                uVar75 = (uint)(pGVar51->plt_static_chain_).value;
                iVar59 = (uVar75 + 1 + (uint)pTVar43->plt_thread_safe_ * 2) * 4;
                if (uVar60 != iVar47 + 0x8008 + uVar75 * 8 >> 0x10) {
                  iVar59 = iVar59 + 4;
                }
                iVar76 = iVar76 + iVar59;
              }
              else if (pGVar51 == (General_options *)0x0) {
                psVar82[-2] = (size_t)"options";
                psVar82[-3] = 0x5c;
                psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                psVar82[-5] = (size_t)&UNK_0008b886;
                gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
              }
              if ((pGVar51->plt_align_).user_set_via_option == false) {
                uVar60 = 0xffffffe0;
                iVar59 = 0x20;
              }
              else {
                iVar59 = 1 << ((byte)(pGVar51->plt_align_).value & 0x1f);
                uVar60 = -iVar59;
              }
              psVar82[-2] = 0;
              psVar82[-3] = uVar84 >> 0x1f;
              psVar82[-4] = 0;
              psVar82[-5] = 2;
              psVar82[-6] = 0;
              psVar82[-7] = 0;
              psVar82[-8] = 0;
              psVar82[-9] = uVar60 & iVar76 + -1 + iVar59;
              psVar82[-10] = uVar84;
              psVar82[-0xb] = uVar79 + uVar37;
              psVar82[-0xc] = (size_t)pSVar13;
              psVar82[-0xd] = 5;
              psVar82[-0xe] = 0;
              psVar82[-0xf] = (size_t)pvVar50;
              psVar82[-0x10] = (size_t)symtab;
              psVar82[-0x11] = 0x8b81a;
              pSVar54 = gold::Symbol_table::define_in_output_data
                                  ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],
                                   (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],
                                   *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),
                                   psVar82[-7],psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),
                                   *(bool *)(psVar82 + -3),*(bool *)(psVar82 + -2));
              pSVar54->dynsym_index_ = 0xffffffff;
              local_dc = local_dc + 1;
            } while (local_dc < (pSVar13->plt_call_stubs_)._M_h._M_element_count);
          }
          psVar82[-4] = (size_t)puVar55;
          psVar82[-5] = 0x8b84e;
          operator_delete((void *)psVar82[-4]);
        }
        for (p_Var89 = (pSVar13->long_branch_stubs_)._M_h._M_before_begin._M_nxt;
            p_Var89 != (_Hash_node_base *)0x0; p_Var89 = p_Var89->_M_nxt) {
          if (*(char *)&p_Var89[4]._M_nxt == '\0') {
            psVar82[-4] = 0x26;
                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */
            psVar82[-5] = 0x8b00a;
            pvVar50 = operator_new__(psVar82[-4]);
            psVar82[-4] = (size_t)p_Var89[2]._M_nxt;
            psVar82[-5] = (size_t)p_Var89[1]._M_nxt;
            psVar82[-6] = pSVar13->uniq_;
            psVar82[-7] = (size_t)"%08x.long_branch.%llx";
            psVar82[-8] = (size_t)pvVar50;
            psVar82[-9] = 0x8b02f;
            sprintf((char *)psVar82[-8],(char *)psVar82[-7]);
            if (gold::parameters->options_ == (General_options *)0x0) {
              psVar82[-2] = (size_t)"options";
              psVar82[-3] = 0x5c;
              psVar82[-4] = (size_t)"../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */
              psVar82[-5] = 0x8c0f0;
              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
            }
            uVar84 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
            if (uVar84 < 0x20) {
              uVar84 = 0x20;
            }
            if ((pSVar13->field_0x1c & 1) == 0) {
              psVar82[-2] = (size_t)"address";
              psVar82[-3] = 0xc5;
              psVar82[-4] = (size_t)"../../gold/output.h";
                    /* WARNING: Subroutine does not return */
              psVar82[-5] = 0x8b090;
              gold::do_gold_unreachable((char *)psVar82[-4],psVar82[-3],(char *)psVar82[-2]);
            }
            uVar60 = *(uint *)((int)&pSVar13->invalid_address + 4);
            uVar37 = (uVar84 - 1) + uVar60;
            uVar78 = pSVar13->orig_data_size_ + uVar37 & -uVar84;
            p_Var86 = p_Var89[5]._M_nxt;
            uVar79 = ((uVar84 != 0) - 1) + *(int *)&pSVar13->field_0x8 +
                     (uint)CARRY4(uVar84 - 1,uVar60) + (uint)CARRY4(pSVar13->orig_data_size_,uVar37)
                     & -(uint)(uVar84 != 0);
            uVar84 = pSVar13->plt_size_ - uVar60;
            uVar37 = uVar84 + uVar78;
            uVar75 = (-(uint)(pSVar13->plt_size_ < uVar60) - *(int *)&pSVar13->field_0x8) + uVar79 +
                     (uint)CARRY4(uVar84,uVar78) + (uint)CARRY4(uVar37,(uint)p_Var86);
            uVar84 = 0x2000000 - pSVar13->last_plt_size_;
            uVar60 = uVar84 - uVar78;
            p_Var52 = (_Hash_node_base *)(uVar60 + (int)p_Var89[1]._M_nxt);
            iVar59 = (int)p_Var89[2]._M_nxt +
                     (((uint)CARRY4(uVar60,(uint)p_Var89[1]._M_nxt) +
                      ((-uVar79 - (uint)(0x2000000 < pSVar13->last_plt_size_)) -
                      (uint)(uVar84 < uVar78))) - (uint)(p_Var52 < p_Var86));
            uVar53 = 4;
            if (iVar59 != 0 ||
                (uint)-iVar59 < (uint)(0x3ffffff < (uint)((int)p_Var52 - (int)p_Var86))) {
              uVar53 = 0x10;
            }
            psVar82[-2] = 0;
            psVar82[-3] = uVar75 >> 0x1f;
            psVar82[-4] = 0;
            psVar82[-5] = 2;
            psVar82[-6] = 0;
            psVar82[-7] = 0;
            psVar82[-8] = 0;
            psVar82[-9] = uVar53;
            psVar82[-10] = uVar75;
            psVar82[-0xb] = uVar37 + (int)p_Var86;
            psVar82[-0xc] = (size_t)pSVar13;
            psVar82[-0xd] = 5;
            psVar82[-0xe] = 0;
            psVar82[-0xf] = (size_t)pvVar50;
            psVar82[-0x10] = (size_t)symtab;
            psVar82[-0x11] = 0x8b31a;
            pSVar54 = gold::Symbol_table::define_in_output_data
                                ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],
                                 (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],
                                 *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),
                                 psVar82[-7],psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),
                                 *(bool *)(psVar82 + -3),*(bool *)(psVar82 + -2));
            pSVar54->dynsym_index_ = 0xffffffff;
          }
        }
        local_104 = local_104 + 1;
      } while ((this->stub_tables_).
               super__Vector_base<(anonymous_namespace)::Stub_table<64,_false>*,_std::allocator<(anonymous_namespace)::Stub_table<64,_false>*>_>
               ._M_impl._M_finish != local_104);
    }
    pOVar28 = this->glink_;
    if (pOVar28 != (Output_data_glink<64,_false> *)0x0) {
      uVar53 = 0x2c;
      if ((pOVar28->targ_->field_0x8 & 2) != 0) {
        uVar53 = 0x38;
      }
      psVar82[-2] = 0;
      psVar82[-3] = 0;
      psVar82[-4] = 0;
      psVar82[-5] = 2;
      psVar82[-6] = 0;
      psVar82[-7] = 0;
      psVar82[-8] = 0;
      psVar82[-9] = uVar53;
      psVar82[-10] = 0;
      psVar82[-0xb] = 8;
      psVar82[-0xc] = (size_t)pOVar28;
      psVar82[-0xd] = 5;
      psVar82[-0xe] = 0;
      psVar82[-0xf] = (size_t)"__glink_PLTresolve";
      psVar82[-0x10] = (size_t)symtab;
      psVar82[-0x11] = 0x8b3a7;
      pSVar54 = gold::Symbol_table::define_in_output_data
                          ((Symbol_table *)psVar82[-0x10],(char *)psVar82[-0xf],
                           (char *)psVar82[-0xe],psVar82[-0xd],(Output_data *)psVar82[-0xc],
                           *(uint64_t *)(psVar82 + -0xb),*(uint64_t *)(psVar82 + -9),psVar82[-7],
                           psVar82[-6],psVar82[-5],*(uchar *)(psVar82 + -4),*(bool *)(psVar82 + -3),
                           *(bool *)(psVar82 + -2));
      pSVar54->dynsym_index_ = 0xffffffff;
    }
  }
LAB_0008ad00:
  local_10c = &os_need_update;
  psVar82[-4] = (size_t)local_10c;
  psVar82[-5] = 0x8ad0e;
  std::
  _Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>
  ::~_Hashtable((_Hashtable<gold::Output_section*,_gold::Output_section*,_std::allocator<gold::Output_section*>,_std::__detail::_Identity,_std::equal_to<gold::Output_section*>,_std::hash<gold::Output_section*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_true,_true>_>
                 *)psVar82[-4],psVar82[-3]);
  return local_fc;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (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: (char_literal (escape_sequence)))))) right: (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (char_literal (escape_sequence)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (call_expression function: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) index: (number_literal)) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) consequence: (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: (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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (goto_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) (expression_statement (assignment_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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (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)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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: (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: (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: (number_literal)))) condition: (parenthesized_expression (binary_expression left: (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (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))))))))))) (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: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal)))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal))))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) alternative: (else_clause (compound_statement))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) 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: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (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: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (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)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (number_literal)) right: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (subscript_expression argument: (identifier) index: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (subscript_expression argument: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) index: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (false))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (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: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (identifier))))) (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) right: (number_literal))))))) (goto_statement label: (statement_identifier))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal))) right: (number_literal))))))))) arguments: (argument_list)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (identifier)) right: (identifier)) right: (number_literal)))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)) index: (number_literal)) right: (number_literal))) right: (number_literal))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (number_literal))))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (number_literal)) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal)))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (number_literal)) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (number_literal))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (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: (number_literal))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (goto_statement label: (statement_identifier)))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (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: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (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: (number_literal))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))) right: (number_literal))))) 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 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) condition: (parenthesized_expression (true))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (number_literal)) index: (number_literal)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)) right: (identifier)))) right: (unary_expression argument: (identifier))))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier)))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) 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: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (number_literal)) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (number_literal))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (unary_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (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: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (number_literal))) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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))))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (for_statement initializer: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal)))) condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))) right: (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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)))))))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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)))))))))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)))) right: (binary_expression left: (unary_expression argument: (parenthesized_expression (identifier))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))))))) (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 declarator: (abstract_pointer_declarator))) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)) right: (binary_expression left: (unary_expression argument: (parenthesized_expression (identifier))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (number_literal)) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) consequence: (break_statement))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (identifier)) right: (number_literal)) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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: (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: (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: (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: (binary_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (number_literal)) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) index: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (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: (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: (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: (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: (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: (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: (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: (primitive_type) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_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: (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: (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: (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: (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: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))

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

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

{
  undefined4 *****pppppuVar1;
  undefined4 *****pppppuVar2;
  code *pcVar3;
  undefined4 ******ppppppuVar4;
  undefined4 ****ppppuVar5;
  undefined4 ***pppuVar6;
  char cVar7;
  undefined4 ******ppppppuVar8;
  undefined4 uVar9;
  undefined4 *******pppppppuVar10;
  undefined4 ******ppppppuVar11;
  int iVar12;
  int *piVar13;
  undefined4 *****pppppuVar14;
  size_t sVar15;
  undefined4 *******pppppppuVar16;
  undefined4 ****ppppuVar17;
  char *pcVar18;
  int iVar19;
  uint uVar20;
  undefined2 *puVar21;
  int iVar22;
  undefined *puVar23;
  undefined8 **ppuVar24;
  undefined8 **ppuVar25;
  undefined4 *****pppppuVar26;
  byte bVar27;
  undefined4 *puVar28;
  undefined4 ******ppppppuVar29;
  undefined4 *******pppppppuVar30;
  undefined4 ******ppppppuVar31;
  uint uVar32;
  undefined4 *******unaff_EBX;
  undefined4 ******ppppppuVar33;
  undefined4 *****pppppuVar34;
  undefined1 *puVar35;
  undefined1 *puVar36;
  undefined1 *puVar37;
  undefined1 *puVar38;
  uint uVar39;
  int *piVar40;
  bool bVar41;
  byte bVar42;
  undefined8 uVar43;
  longlong lVar44;
  longlong lVar45;
  undefined1 auStack_14c [12];
  undefined4 *****local_140;
  undefined4 ******local_13c;
  undefined4 ******local_138;
  undefined4 ******local_134;
  uint local_130;
  undefined4 ******local_12c;
  uint local_128;
  bool local_121;
  undefined4 ******local_120;
  undefined4 ******local_11c;
  uint local_118;
  undefined4 ******local_114;
  undefined4 ******local_110;
  undefined4 ******local_10c;
  undefined4 ******local_108;
  undefined4 *local_104;
  uint local_100;
  undefined4 ******local_fc;
  undefined4 ******local_f8;
  undefined4 ******local_f4;
  uint local_f0;
  undefined4 *****local_ec;
  uint local_e8;
  undefined4 ******local_e4;
  undefined4 ****local_e0;
  undefined8 local_dc;
  uint local_d4;
  uint local_d0;
  undefined8 local_cc;
  undefined4 ******local_c4;
  uint local_c0;
  undefined4 ******local_bc;
  int local_b8;
  undefined8 local_b4;
  undefined4 ******local_ac;
  undefined4 ******local_a8;
  undefined1 local_a4 [8];
  undefined1 local_9c [8];
  char local_94 [4];
  undefined4 ******local_90;
  undefined4 ******local_8c;
  char local_88;
  undefined1 local_84 [4];
  char local_80;
  undefined4 *****local_71 [2];
  undefined8 *local_68 [3];
  undefined8 local_5c;
  undefined4 ******local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44;
  undefined4 ******local_40;
  undefined4 ******local_3c;
  undefined4 ******local_38;
  undefined4 ******local_34;
  undefined4 ******local_30;
  undefined4 ******local_2c;
  undefined4 ****local_28;
  undefined4 ****local_24;
  undefined4 ****local_20;
  
  puVar35 = auStack_14c;
  local_ac = (undefined4 ******)&__DT_PLTGOT;
  if (param_2 == 1) {
    local_c4 = (undefined4 ******)&DAT_004144e8;
    pppppuVar26 = *(undefined4 ******)(DAT_004144e8 + 8);
    if ((*(byte *)(param_1 + 8) & 2) == 0) {
      local_ac = (undefined4 ******)&__DT_PLTGOT;
      if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c0b4;
      cVar7 = *(char *)((int)pppppuVar26 + 0x2c59);
      if (((cVar7 == '\0') && (*(char *)(pppppuVar26 + 0xb16) == '\0')) &&
         (cVar7 = *(char *)((int)pppppuVar26 + 0x1a25), cVar7 == '\0')) {
        local_b4._0_4_ = (undefined4 *******)((uint)(undefined4 *******)local_b4 & 0xffffff00);
        local_a8 = (undefined4 ******)&PTR_s__ZNSt6thread15_M_start_threadESt_004065c4;
        pcVar18 = "pthread_create";
        local_c4 = (undefined4 ******)&DAT_004144e8;
        while( true ) {
          unaff_EBX = (undefined4 *******)local_ac;
          iVar19 = FUN_001e9100(param_4,pcVar18,0);
          if (((iVar19 != 0) && (*(char *)(iVar19 + 0x2a) < '\0')) &&
             (bVar27 = *(byte *)(iVar19 + 0x2b) >> 6, bVar42 = bVar27 & 1, (bVar27 & 1) != 0)) {
            pppppuVar26 = (undefined4 *****)(*local_c4)[2];
            goto LAB_0008b0b0;
          }
          if (local_a8 == (undefined4 ******)&DAT_0040661c) break;
          pcVar18 = (char *)*local_a8;
          local_a8 = local_a8 + 1;
        }
        pppppuVar26 = (undefined4 *****)(*local_c4)[2];
        bVar42 = (byte)local_b4;
        goto LAB_0008b0b0;
      }
      ppppuVar17 = pppppuVar26[0xe2a];
      *(char *)(param_1 + 0x9c) = cVar7;
      local_c4 = (undefined4 ******)&DAT_004144e8;
      if (ppppuVar17 == (undefined4 ****)0x1) goto LAB_0008bbcb;
LAB_0008b0d5:
      if (ppppuVar17 == (undefined4 ****)0xffffffff) {
        *(undefined4 *)(param_1 + 0xa8) = 0xfe200000;
      }
      else {
        *(undefined4 *****)(param_1 + 0xa8) = ppppuVar17;
      }
    }
    else {
      local_c4 = (undefined4 ******)&DAT_004144e8;
      local_ac = (undefined4 ******)&__DT_PLTGOT;
      bVar42 = 0;
LAB_0008b0b0:
      *(byte *)(param_1 + 0x9c) = bVar42;
      puVar35 = auStack_14c;
      if (pppppuVar26 == (undefined4 *****)0x0) {
LAB_0008c0b4:
        ppppppuVar31 = local_ac;
        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
        *(undefined4 *)(puVar35 + -0xc) = 0x5c;
        *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x8c0d2;
        FUN_000da200();
      }
      ppppuVar17 = pppppuVar26[0xe2a];
      if (ppppuVar17 != (undefined4 ****)0x1) goto LAB_0008b0d5;
LAB_0008bbcb:
      *(undefined4 *)(param_1 + 0xa8) = 0x1c00000;
    }
    FUN_0006f600();
    puVar28 = *(undefined4 **)(param_1 + 0x4c);
    if (*(undefined4 **)(param_1 + 0x50) != puVar28) {
LAB_00088eb5:
      puVar38 = auStack_14c;
      puVar37 = auStack_14c;
      puVar35 = auStack_14c;
      local_a8 = (undefined4 ******)*puVar28;
      ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];
      pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];
      puVar36 = auStack_14c;
      if (ppppppuVar31 <
          (undefined4 ******)
          ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3)) {
        if (((uint)pppppuVar26[(int)ppppppuVar31 * 2 + 1] & (uint)pppppuVar26[(int)ppppppuVar31 * 2]
            ) != 0xffffffff) {
          local_cc._0_4_ = (undefined4 *******)(puVar28 + 1);
          local_dc._0_4_ = (undefined4 *******)(local_ac + 0x13a);
          local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];
          local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];
          do {
            unaff_EBX = (undefined4 *******)local_a8;
            local_b8 = 0;
            ppppppuVar31 = (undefined4 ******)local_a8[8];
            local_c4 = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_a8[0x1c]);
            local_c0 = (int)local_b4._4_4_ +
                       (uint)CARRY4((uint)local_a8[0x1c],(uint)(undefined4 *******)local_b4);
            local_bc = (undefined4 ******)((int)local_a8[0x1f] + (int)local_a8[0x1d]);
            if (*(char *)(local_a8 + 0x23) != '\0') {
              pppppuVar26 = (undefined4 *****)local_a8[0xd][0x2b];
              if (((uint)pppppuVar26[7] & 2) == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_000da200(local_ac + -0x47469,0xcf,local_ac + -0x47701);
              }
              bVar41 = CARRY4((uint)local_bc,(uint)pppppuVar26[3]);
              local_bc = (undefined4 ******)((int)local_bc + (int)pppppuVar26[3]);
              local_b8 = (int)pppppuVar26[4] + (uint)bVar41;
            }
            if (local_b8 != 0 || (undefined4 *******)local_bc != (undefined4 *******)0x0) {
              if ((*(undefined4 *******)local_dc)[2] == (undefined4 *****)0x0) goto LAB_0008c192;
              uVar39 = 1 << ((byte)(*(undefined4 *******)local_dc)[2][0xac8] & 0x1f);
              if (uVar39 < 0x20) {
                uVar39 = 0x20;
              }
              bVar41 = CARRY4(uVar39 - 1,(uint)local_c4);
              local_c4 = (undefined4 ******)((int)local_c4 + (uVar39 - 1) & -uVar39);
              local_c0 = ((uVar39 != 0) - 1) + local_c0 + (uint)bVar41 & -(uint)(uVar39 != 0);
            }
            ppppppuVar11 = (undefined4 ******)local_a8[0x22];
            ppppppuVar8 = (undefined4 ******)
                          ((int)local_c4 + ((int)local_bc - (int)(undefined4 *******)local_b4));
            ppppppuVar29 = (undefined4 ******)
                           (((local_b8 - (int)local_b4._4_4_) -
                            (uint)(local_bc < (undefined4 *******)local_b4)) + local_c0 +
                           (uint)CARRY4((int)local_bc - (int)(undefined4 *******)local_b4,
                                        (uint)local_c4));
            ppppppuVar33 = (undefined4 ******)local_a8[0x21];
            if (ppppppuVar11 < ppppppuVar29 ||
                (uint)((int)ppppppuVar11 - (int)ppppppuVar29) < (uint)(local_a8[0x21] < ppppppuVar8)
               ) {
              ppppppuVar33 = ppppppuVar8;
              ppppppuVar11 = ppppppuVar29;
            }
            bVar42 = *(byte *)(local_a8 + 7);
            *(byte *)(local_a8 + 7) = bVar42 & 0xfa;
            if ((bVar42 & 8) == 0) {
              *(byte *)(local_a8 + 7) = bVar42 & 0xf8;
            }
            else if ((bVar42 & 2) != 0) goto LAB_0008b9d8;
            pppppuVar26 = ppppppuVar31[7];
            local_a8[3] = ppppppuVar33;
            local_a8[4] = ppppppuVar11;
            if (((uint)pppppuVar26 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_000da200(local_ac + -0x47469,0xe3,local_ac + -0x4784e);
            }
            pppppuVar14 = ppppppuVar31[5];
            pppppuVar34 = ppppppuVar31[6];
            puVar36 = auStack_14c;
            if (((uint)pppppuVar26 & 1) == 0) goto LAB_0008bf5b;
            pppppuVar26 = ppppppuVar31[1];
            pppppuVar1 = ppppppuVar31[1];
            pppppuVar2 = ppppppuVar31[2];
            local_a8[5] = (undefined4 ******)
                          ((int)(undefined4 *******)local_b4 + (int)ppppppuVar31[5]);
            local_a8[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)pppppuVar1);
            local_a8[2] = (undefined4 ******)
                          ((int)local_b4._4_4_ + (int)pppppuVar2 +
                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar26));
            local_a8[6] = (undefined4 ******)
                          ((int)local_b4._4_4_ + (int)pppppuVar34 +
                          (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)pppppuVar14));
            *(byte *)(local_a8 + 7) = *(byte *)(local_a8 + 7) | 5;
            (*(code *)(*local_a8)[0xe])(local_a8);
            if (((uint)unaff_EBX[7] & 2) == 0) goto LAB_0008c197;
            pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);
            if (pppppppuVar10 == (undefined4 *******)local_cc) {
              if (param_2 != 1) goto LAB_00089837;
              local_120 = (undefined4 *******)0x0;
              pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);
              goto LAB_00089172;
            }
            local_a8 = *(undefined4 *******)local_cc;
            ppppppuVar31 = ((undefined4 *******)local_a8)[0xc];
            pppppuVar26 = ((undefined4 *******)local_a8)[0xb][0x21];
            puVar36 = auStack_14c;
            if ((undefined4 ******)
                ((int)((undefined4 *******)local_a8)[0xb][0x22] - (int)pppppuVar26 >> 3) <=
                ppppppuVar31) goto LAB_0008bf9d;
            local_b4._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar31 * 2];
            local_b4._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar31 * 2 + 1];
            local_cc._0_4_ = (undefined4 *******)local_cc + 1;
          } while (((uint)local_b4._4_4_ & (uint)(undefined4 *******)local_b4) != 0xffffffff);
        }
                    /* WARNING: Subroutine does not return */
        FUN_000da200(local_ac + -0x4745f,0xe02,local_ac + -0x478c6);
      }
LAB_0008bf9d:
      ppppppuVar31 = local_ac;
      *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47714;
      *(undefined4 *)(puVar36 + -0xc) = 0x7f7;
      *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x4746e;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar36 + -0x14) = 0x8bfbe;
      FUN_000da200();
    }
    local_120 = (undefined4 *******)0x0;
LAB_0008b10a:
    local_110 = (undefined4 *******)0x0;
    iVar19 = 0;
    *(undefined1 *)(param_1 + 0xa1) = 0;
  }
  else {
    ppppppuVar31 = (undefined4 ******)&__DT_PLTGOT;
    if ((*(char *)(param_1 + 0xa1) != '\0') &&
       (ppppppuVar31 = local_ac, *(int *)(param_1 + 0xa4) < 3)) {
      local_ac = (undefined4 ******)&__DT_PLTGOT;
      FUN_000a8e50(param_1 + 0x58);
      piVar13 = *(int **)(param_1 + 0x4c);
      if (piVar13 != *(int **)(param_1 + 0x50)) {
        do {
          iVar19 = *piVar13;
          piVar13 = piVar13 + 1;
          FUN_0004ebf0();
          *(undefined4 *)(iVar19 + 0x74) = 0;
          FUN_0004eb90();
          *(undefined4 *)(iVar19 + 0x7c) = 0;
          *(undefined1 *)(iVar19 + 0x8c) = 0;
          *(undefined4 *)(iVar19 + 0x78) = 0;
          *(undefined4 *)(iVar19 + 0x80) = 0;
        } while (*(int **)(param_1 + 0x50) != piVar13);
        if (piVar13 != *(int **)(param_1 + 0x4c)) {
          *(int **)(param_1 + 0x50) = *(int **)(param_1 + 0x4c);
        }
      }
      iVar19 = *(int *)(param_1 + 0xa8);
      iVar22 = iVar19 + 3;
      if (-1 < iVar19) {
        iVar22 = iVar19;
      }
      iVar19 = (iVar22 >> 2) * 3;
      *(int *)(param_1 + 0xa8) = iVar19;
      ppppppuVar31 = (undefined4 ******)local_ac[0x1ce];
      uVar9 = gettext(local_ac + -0x47247);
      unaff_EBX = (undefined4 *******)local_ac;
      FUN_000d1390(uVar9,ppppppuVar31,iVar19);
      FUN_0006f600();
      ppppppuVar31 = local_ac;
    }
    local_ac = ppppppuVar31;
    puVar28 = *(undefined4 **)(param_1 + 0x4c);
    if (*(undefined4 **)(param_1 + 0x50) != puVar28) goto LAB_00088eb5;
LAB_00089837:
    local_120 = *(undefined4 *******)(param_1 + 100);
    FUN_000a8e50(param_1 + 0x58);
    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);
    if (pppppppuVar16 == *(undefined4 ********)(param_1 + 0x50)) goto LAB_0008b10a;
    do {
      unaff_EBX = (undefined4 *******)*pppppppuVar16;
      pppppppuVar16 = pppppppuVar16 + 1;
      FUN_0004ebf0();
      unaff_EBX[0x1d] = (undefined4 ******)0x0;
      FUN_0004eb90();
      unaff_EBX[0x1f] = (undefined4 ******)0x0;
      *(undefined1 *)(unaff_EBX + 0x23) = 0;
      pppppppuVar10 = *(undefined4 ********)(param_1 + 0x50);
    } while (pppppppuVar10 != pppppppuVar16);
    pppppppuVar16 = *(undefined4 ********)(param_1 + 0x4c);
LAB_00089172:
    local_110 = (undefined4 *******)0x0;
    iVar19 = (int)pppppppuVar10 - (int)pppppppuVar16;
    *(undefined1 *)(param_1 + 0xa1) = 0;
    if (pppppppuVar16 != pppppppuVar10) {
      local_110 = *pppppppuVar16;
    }
  }
  puVar35 = auStack_14c;
  puVar36 = auStack_14c;
  local_fc = (undefined4 *******)0x0;
  if (iVar19 == 4) {
    local_fc = local_110;
  }
  local_114 = local_ac + 0x13a;
  local_a8 = *(undefined4 *******)(param_1 + 0x74);
  local_f8 = local_114;
  if (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8) {
    do {
      pppppppuVar10 = (undefined4 *******)local_ac;
      ppppppuVar31 = (undefined4 ******)*local_a8;
      ppppppuVar11 = (undefined4 ******)local_a8[5];
      puVar35 = puVar36;
      if (ppppppuVar11 < ppppppuVar31[0x2c]) {
        local_c4 = local_114;
        pppppuVar26 = (undefined4 *****)(*local_114)[3];
        if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c096;
LAB_000899b9:
        pppppppuVar10 = unaff_EBX;
        pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];
        if ((pppppuVar26[0x2c] == (undefined4 ****)0x0) &&
           (pppppppuVar16 != (undefined4 *******)0x0)) goto LAB_00089257;
LAB_000899d1:
        pppppppuVar10 = (undefined4 *******)local_ac;
        pppppppuVar16 = (undefined4 *******)0x0;
        *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;
        *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;
        *(undefined4 *)(puVar36 + -0x14) = 0x899e3;
        cVar7 = FUN_001283f0();
        if (cVar7 != '\0') goto LAB_00089ed0;
LAB_000899ee:
        local_b4._0_4_ = (undefined4 *******)local_a8[4];
        uVar39 = (uint)(undefined4 *******)local_b4 & 0x7fffffff;
        if (uVar39 - 0xb < 3) {
          local_f4 = (undefined4 *******)0x8000;
        }
        else {
          if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) &&
             (unaff_EBX = pppppppuVar10, uVar39 != 0x17)) goto LAB_00089370;
          local_f4 = (undefined4 *******)0x2000000;
        }
        local_f0 = 0;
        local_b4._0_4_ = (undefined4 *******)*local_a8;
        ppppppuVar31 = (undefined4 ******)local_a8[1];
        ppppppuVar11 = ((undefined4 *******)local_b4)[0x21];
        if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0x22] - (int)ppppppuVar11 >> 3)
            <= ppppppuVar31) goto LAB_0008bf9d;
        local_e0 = ppppppuVar11[(int)ppppppuVar31 * 2 + 1];
        local_e4 = (undefined4 ******)ppppppuVar11[(int)ppppppuVar31 * 2];
        if (((uint)local_e0 & (uint)local_e4) == 0xffffffff) {
          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;
          *(undefined4 *)(puVar36 + -0xc) = 0xd3b;
          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar36 + -0x14) = 0x8c39c;
          FUN_000da200();
        }
        unaff_EBX = (undefined4 *******)(local_ac + -0xdb9ec);
        pppppppuVar10 = (undefined4 *******)(*(undefined4 *******)local_b4)[0x18];
        if (pppppppuVar10 == unaff_EBX) {
          unaff_EBX = (undefined4 *******)((undefined4 *******)local_b4)[0xe];
          if ((undefined4 ******)((int)((undefined4 *******)local_b4)[0xf] - (int)unaff_EBX >> 2) <=
              ppppppuVar31) {
LAB_0008c314:
            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4772e;
            *(undefined4 *)(puVar36 + -0xc) = 0x5c8;
            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar36 + -0x14) = 0x8c335;
            FUN_000da200();
          }
          ppppppuVar31 = unaff_EBX[(int)ppppppuVar31];
        }
        else {
          *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;
          *(undefined4 ********)(puVar36 + -0x10) = (undefined4 *******)local_b4;
          *(undefined4 *)(puVar36 + -0x14) = 0x8adac;
          ppppppuVar31 = (undefined4 ******)(*(code *)pppppppuVar10)();
        }
        ppppppuVar11 = local_ac;
        if (((uint)ppppppuVar31[7] & 1) == 0) goto LAB_0008bf5b;
        local_cc._4_4_ = ppppppuVar31[2];
        local_cc._0_4_ = (undefined4 *******)ppppppuVar31[1];
        local_dc._4_4_ = (undefined4 ******)local_a8[3];
        local_dc._0_4_ = (undefined4 *******)local_a8[2];
        if (pppppppuVar16 == (undefined4 *******)0x0) {
          ppppppuVar31 = (undefined4 ******)*local_a8;
          ppppppuVar33 = (undefined4 ******)local_a8[5];
          pppppuVar14 = ppppppuVar31[0x37];
          if ((undefined4 ******)(((int)ppppppuVar31[0x38] - (int)pppppuVar14 >> 2) * -0x33333333)
              <= ppppppuVar33) {
            *(undefined4 ******)(puVar36 + -4) = pppppuVar14;
            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x4773f;
            *(undefined4 *)(puVar36 + -0xc) = 0x8c1;
            *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar36 + -0x14) = 0x8c2b0;
            FUN_000da200();
          }
          local_40 = (undefined4 *******)0x0;
          local_3c = (undefined4 *******)0xffffffff;
          local_38 = (undefined4 *******)0x80000000;
          local_34 = (undefined4 *******)0x0;
          local_30 = (undefined4 *******)0x0;
          if ((*(byte *)((int)(pppppuVar14 + (int)ppppppuVar33 * 5) + 0xb) & 0x10) != 0) {
            local_38 = (undefined4 *******)0x90000000;
          }
          local_bc = &local_40;
          *(undefined4 *)(puVar36 + -0x10) = param_4;
          *(undefined4 *******)(puVar36 + -0x14) = local_bc;
          *(undefined4 ******)(puVar36 + -0x18) = pppppuVar14 + (int)ppppppuVar33 * 5;
          *(undefined4 *******)(puVar36 + -0x1c) = ppppppuVar33;
          *(undefined4 *******)(puVar36 + -0x20) = ppppppuVar31;
                    /* try { // try from 0008a656 to 0008a686 has its CatchHandler @ 0008c41f */
          *(undefined4 *)(puVar36 + -0x24) = 0x8a65b;
          iVar19 = FUN_001290d0();
          ppppppuVar31 = local_a8;
          if ((iVar19 != 0) || (-1 < (int)local_38)) {
            *(undefined4 *******)(puVar36 + -0x10) = local_bc;
            *(undefined4 *)(puVar36 + -0x14) = 0x8aebf;
            FUN_000aa480();
            unaff_EBX = (undefined4 *******)ppppppuVar11;
            goto LAB_00089370;
          }
          *(undefined4 *)(puVar36 + -4) = 0;
          *(undefined4 *)(puVar36 + -8) = 0;
          *(undefined4 ******)(puVar36 + -0xc) = *local_a8;
          *(undefined4 *******)(puVar36 + -0x10) = local_bc;
          *(undefined4 *)(puVar36 + -0x14) = 0x8a687;
          lVar44 = FUN_000a9940();
          bVar42 = *(byte *)((int)(*ppppppuVar31)[0x6c] + (int)ppppppuVar31[5]);
          *(undefined4 *******)(puVar36 + -0x10) = local_bc;
          local_5c = lVar44 + (ulonglong)(1 << (sbyte)((int)(uint)bVar42 >> 5) & 0xfffffffc);
          *(undefined4 *)(puVar36 + -0x14) = 0x8a6cf;
          local_a8 = ppppppuVar31;
          FUN_000aa480();
LAB_00089b5e:
          local_10c = (undefined4 ******)((uint)local_5c + (int)local_a8[6]);
          local_108 = (undefined4 ******)
                      ((int)local_a8[7] +
                      (int)((ulonglong)local_5c >> 0x20) +
                      (uint)CARRY4((uint)local_5c,(uint)local_a8[6]));
          local_5c = CONCAT44(local_108,local_10c);
          local_b4._0_4_ = (undefined4 *******)local_fc;
          if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {
            pppppuVar14 = (undefined4 *****)(*local_a8)[0x69];
            if (local_a8[1] < (undefined4 ******)((int)(*local_a8)[0x6a] - (int)pppppuVar14 >> 2)) {
              pppppuVar34 = (undefined4 *****)(*local_c4)[3];
              if (pppppuVar34 == (undefined4 *****)0x0) {
LAB_0008c3f9:
                *(undefined4 *)(puVar36 + -4) = 0x8c3fe;
                FUN_000534d0();
                    /* catch(type#1 @ 00000000) { ... } // from try @ 00089e08 with catch @ 0008c3fe
                        */
                uVar39 = FUN_0002e11a();
                return uVar39;
              }
              ppppuVar17 = pppppuVar14[(int)local_a8[1]];
              if (ppppuVar17 <
                  (undefined4 ****)((int)pppppuVar34[0x14] - (int)pppppuVar34[0x13] >> 2)) {
                local_b4._0_4_ = (undefined4 *******)pppppuVar34[0x13][(int)ppppuVar17];
              }
            }
            else {
            }
          }
          local_5c._0_4_ = (undefined4 *******)local_10c;
          local_5c._4_4_ = (undefined4 *******)local_108;
          if (((uint)pppppuVar26[2] & 2) == 0) {
            *(undefined4 *******)(puVar36 + -8) = local_bc;
            *(undefined8 **)(puVar36 + -0xc) = &local_5c;
            *(undefined4 ******)(puVar36 + -0x10) = *local_a8;
            *(undefined4 *)(puVar36 + -0x14) = 0x8b155;
            cVar7 = FUN_00088b60();
            unaff_EBX = (undefined4 *******)0x0;
            if (cVar7 == '\0') goto LAB_00089370;
          }
          pppppppuVar10 = (undefined4 *******)local_b4;
          bVar41 = CARRY4((int)(undefined4 *******)local_dc + (int)local_e4,
                          (uint)(undefined4 *******)local_cc);
          local_cc._0_4_ =
               (undefined4 *******)
               ((int)(undefined4 *******)local_dc + (int)local_e4 +
               (int)(undefined4 *******)local_cc);
          local_cc._4_4_ =
               (undefined4 *****)
               ((undefined *)
                ((int)local_dc._4_4_ +
                (uint)CARRY4((uint)(undefined4 *******)local_dc,(uint)local_e4) + (int)local_e0) +
                (int)local_cc._4_4_ + bVar41);
          pppppppuVar30 =
               (undefined4 *******)
               ((int)local_5c._4_4_ +
               (uint)CARRY4((int)local_f4 - (int)(undefined4 *******)local_cc,
                            (uint)(undefined4 *******)local_5c) +
               ((local_f0 - (int)local_cc._4_4_) - (uint)(local_f4 < (undefined4 *******)local_cc)))
          ;
          unaff_EBX = (undefined4 *******)(local_f0 << 1 | (uint)local_f4 >> 0x1f);
          local_10c = (undefined4 *******)local_5c;
          local_108 = local_5c._4_4_;
          if (unaff_EBX <= pppppppuVar30 &&
              (uint)((undefined *)
                     (((int)local_f4 - (int)(undefined4 *******)local_cc) +
                     (int)(undefined4 *******)local_5c) < (undefined *)((int)local_f4 * 2)) <=
              (uint)((int)pppppppuVar30 - (int)unaff_EBX)) {
            if ((undefined4 *******)local_b4 == (undefined4 *******)0x0) {
              ppppppuVar31 = (undefined4 ******)*local_a8;
              pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];
              if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {
                *(undefined4 ******)(puVar36 + -8) = local_a8[1];
                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31 + 0x24;
                *(undefined4 *******)(puVar36 + -0x10) = local_bc;
                *(undefined4 *)(puVar36 + -0x14) = 0x8bd71;
                FUN_000b1290();
              }
              else {
                *(undefined4 ******)(puVar36 + -8) = local_a8[1];
                *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;
                *(undefined4 *******)(puVar36 + -0x10) = local_bc;
                *(undefined4 *)(puVar36 + -0x14) = 0x8bf53;
                (*(code *)pppppppuVar10)();
              }
              ppppppuVar31 = local_40;
              pppppuVar26 = (undefined4 *****)(*local_a8)[1];
              *(undefined4 *******)(puVar36 + -0x14) = local_ac + -0x4723a;
              *(undefined4 *)(puVar36 + -0x18) = 0x8bd99;
              uVar9 = gettext();
              unaff_EBX = (undefined4 *******)local_ac;
              *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar31;
              *(undefined4 ******)(puVar36 + -0x10) = pppppuVar26;
              *(undefined4 *)(puVar36 + -0x14) = uVar9;
                    /* try { // try from 0008bda7 to 0008bdab has its CatchHandler @ 0008c434 */
              *(undefined4 *)(puVar36 + -0x18) = 0x8bdac;
              FUN_000d1360();
              puVar35 = puVar36 + -4;
              if ((undefined4 *******)local_40 != &local_38) {
                *(undefined4 *******)(puVar36 + -0x14) = local_40;
                *(undefined4 *)(puVar36 + -0x18) = 0x8bdc6;
                FUN_00248220();
                puVar35 = puVar36 + -4;
              }
            }
            else {
              if (pppppppuVar16 == (undefined4 *******)0x0) {
                local_121 = false;
              }
              else {
                local_121 = false;
                if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 1) {
                  local_121 = pppppppuVar16[2] == (undefined4 ******)pppppuVar26[0x2b];
                }
              }
              local_f4 = (undefined4 ******)CONCAT31(local_f4._1_3_,local_121);
              local_dc._0_4_ = (undefined4 *******)local_a8[4];
              local_128 = (uint)(undefined4 *******)local_dc & 0x7fffffff;
              local_e4 = ((undefined4 *******)local_b4)[0x1f];
              *(undefined4 *)(puVar36 + -0x10) = 0x1c;
              *(undefined4 *)(puVar36 + -0x14) = 0x89c71;
              ppppppuVar11 = (undefined4 ******)FUN_00246670();
              local_38 = (undefined4 *******)0x8000;
              *ppppppuVar11 = (undefined4 *****)0x0;
              local_3c = local_108;
              local_34 = (undefined4 ******)CONCAT31(local_34._1_3_,local_f4._0_1_);
              ppppppuVar11[2] = local_108;
              ppppppuVar11[1] = local_10c;
              ppppppuVar11[4] = local_34;
              ppppppuVar11[3] = (undefined4 *****)0x8000;
              ppppppuVar11[5] = local_e4;
              local_40 = local_10c;
              ppppppuVar31 = pppppppuVar10[0x16];
              local_f4 = (undefined4 ******)((uint)local_10c ^ 0x8000);
              uVar39 = (uint)local_f4 % (uint)ppppppuVar31;
              *(undefined4 *******)(puVar36 + -0x10) = local_f4;
              *(undefined4 *)(puVar36 + -0x14) = 0x89cef;
              local_b4._0_4_ = pppppppuVar10;
              piVar13 = (int *)FUN_0004df50();
              unaff_EBX = (undefined4 *******)local_ac;
              if ((piVar13 == (int *)0x0) || (*piVar13 == 0)) {
                local_12c = ((undefined4 *******)local_b4)[0x1a];
                *(undefined4 *)(puVar36 + -0x10) = 1;
                *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x18];
                *(undefined4 *******)(puVar36 + -0x18) = ppppppuVar31;
                *(undefined4 ********)(puVar36 + -0x1c) = (undefined4 *******)local_b4 + 0x19;
                *(char **)(puVar36 + -0x20) = local_94;
                *(undefined4 *)(puVar36 + -0x24) = 0x89ddd;
                FUN_0028d8d0();
                puVar35 = puVar36 + -4;
                local_dc._0_4_ = (undefined4 *******)local_90;
                if (local_94[0] == '\0') {
                  local_12c = ((undefined4 *******)local_b4)[0x15];
                }
                else {
                  if ((undefined4 *******)local_90 == (undefined4 *******)0x1) {
                    ((undefined4 *******)local_b4)[0x1b] = (undefined4 ******)0x0;
                    local_138 = (undefined4 *******)local_b4 + 0x1b;
                    local_12c = local_138;
                  }
                  else {
                    /* try { // try from 00089e08 to 00089e0c has its CatchHandler @ 0008c3fe */
                    *(undefined4 *)(puVar36 + -8) = 0x89e0d;
                    local_12c = (undefined4 ******)FUN_00053420();
                    local_138 = (undefined4 *******)local_b4 + 0x1b;
                  }
                  ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];
                  ((undefined4 *******)local_b4)[0x17] = (undefined4 ******)0x0;
                  if (ppppppuVar31 != (undefined4 ******)0x0) {
                    local_134 = (undefined4 *******)local_b4 + 0x17;
                    local_130 = 0;
                    local_13c = local_a8;
                    do {
                      ppppppuVar33 = (undefined4 ******)*ppppppuVar31;
                      uVar39 = (uint)ppppppuVar31[6] % (uint)(undefined4 *******)local_dc;
                      pppppppuVar10 = (undefined4 *******)(local_12c + uVar39);
                      if (*pppppppuVar10 == (undefined4 ******)0x0) {
                        *ppppppuVar31 = ((undefined4 *******)local_b4)[0x17];
                        ((undefined4 *******)local_b4)[0x17] = ppppppuVar31;
                        *pppppppuVar10 = local_134;
                        if (*ppppppuVar31 != (undefined4 *****)0x0) {
                          local_12c[local_130] = ppppppuVar31;
                        }
                      }
                      else {
                        *ppppppuVar31 = **pppppppuVar10;
                        **pppppppuVar10 = ppppppuVar31;
                        uVar39 = local_130;
                      }
                      local_130 = uVar39;
                      ppppppuVar31 = ppppppuVar33;
                      local_140 = ppppppuVar11;
                    } while (ppppppuVar33 != (undefined4 ******)0x0);
                  }
                  if (((undefined4 *******)local_b4)[0x15] != local_138) {
                    *(undefined4 *******)(puVar36 + -0x14) = ((undefined4 *******)local_b4)[0x15];
                    *(undefined4 *)(puVar36 + -0x18) = 0x8bccf;
                    FUN_00248220();
                  }
                  ((undefined4 *******)local_b4)[0x16] = (undefined4 *******)local_dc;
                  ((undefined4 *******)local_b4)[0x15] = local_12c;
                  uVar39 = (uint)local_f4 % (uint)(undefined4 *******)local_dc;
                }
                pppppppuVar10 = (undefined4 *******)local_b4;
                unaff_EBX = (undefined4 *******)(uVar39 * 4);
                ppppppuVar11[6] = local_f4;
                if ((undefined4 ******)local_12c[uVar39] == (undefined4 ******)0x0) {
                  *ppppppuVar11 = ((undefined4 *******)local_b4)[0x17];
                  ((undefined4 *******)local_b4)[0x17] = ppppppuVar11;
                  if (*ppppppuVar11 == (undefined4 *****)0x0) {
                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];
                  }
                  else {
                    ppppppuVar31 = ((undefined4 *******)local_b4)[0x15];
                    ppppppuVar31
                    [(uint)(*ppppppuVar11)[6] % (uint)((undefined4 *******)local_b4)[0x16]] =
                         ppppppuVar11;
                  }
                  *(undefined4 ********)((int)unaff_EBX + (int)ppppppuVar31) =
                       (undefined4 *******)local_b4 + 0x17;
                }
                else {
                  *ppppppuVar11 = (undefined4 *****)*local_12c[uVar39];
                  *((undefined4 *******)local_b4)[0x15][uVar39] = ppppppuVar11;
                }
                ((undefined4 *******)local_b4)[0x18] =
                     (undefined4 ******)((int)((undefined4 *******)local_b4)[0x18] + 1);
                if (local_121 == false) {
                  *(undefined4 *)(puVar36 + -8) = 0x8be14;
                  uVar43 = FUN_00056b90();
                  local_dc._0_4_ = (undefined4 *******)pppppppuVar10[0x1e];
                  local_dc._4_4_ = (undefined4 ******)0x0;
                  pppppuVar26 = (undefined4 *****)
                                ((0x2000000U - (int)(undefined4 *******)local_dc) +
                                (int)ppppppuVar11[1]);
                  uVar39 = (int)pppppuVar26 - (int)ppppppuVar11[5];
                  unaff_EBX = (undefined4 *******)
                              ((int)ppppppuVar11[2] +
                              (((((uint)CARRY4(0x2000000U - (int)(undefined4 *******)local_dc,
                                               (uint)ppppppuVar11[1]) -
                                 (uint)((undefined4 *******)0x2000000 < (undefined4 *******)local_dc
                                       )) - (uint)(pppppuVar26 < ppppppuVar11[5])) -
                               (int)((ulonglong)uVar43 >> 0x20)) - (uint)(uVar39 < (uint)uVar43)));
                  if (unaff_EBX == (undefined4 *******)0x0 &&
                      (uint)(0x3ffffff < uVar39 - (uint)uVar43) <= (uint)-(int)unaff_EBX) {
                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 1;
                  }
                  else {
                    ((undefined4 *******)local_b4)[0x1f] = local_e4 + 4;
                    ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];
                    pppppuVar26 = ppppppuVar31[0x19];
                    *(undefined4 *******)(puVar36 + -8) = local_bc;
                    *(undefined4 *)(puVar36 + -0xc) = 0;
                    local_38 = (undefined4 ******)((int)pppppuVar26 * 8);
                    *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + 0x16;
                    *(undefined1 **)(puVar36 + -0x14) = local_9c;
                    local_40 = local_10c;
                    local_3c = local_108;
                    *(undefined4 *)(puVar36 + -0x18) = 0x8beab;
                    FUN_000b09c0();
                    puVar35 = puVar36 + -8;
                  }
                }
                else {
                  *(undefined1 *)((undefined4 *******)local_b4 + 0x23) = 1;
                  puVar35 = puVar36 + -4;
                }
              }
              else {
                *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar11;
                *(undefined4 *)(puVar36 + -0x14) = 0x89d13;
                FUN_00248220();
              }
              if (local_128 - 0xb < 3) {
                uVar39 = 0x8000;
              }
              else {
                if (((local_128 + 0x7ffffff6 & 0x7ffffff7) != 0) && (local_128 != 0x17))
                goto LAB_00089370;
                uVar39 = 0x2000000;
              }
              if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff) {
LAB_0008c2e9:
                ppppppuVar31 = local_ac;
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478da;
                *(undefined4 *)(puVar35 + -0xc) = 0x11b2;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c30a;
                FUN_000da200();
              }
              *(undefined4 *)(puVar35 + -4) = 0x89d6b;
              lVar44 = FUN_00056b90();
              lVar44 = lVar44 + CONCAT44((-(uint)(local_e4 < (undefined4 *******)local_cc) -
                                         (int)local_cc._4_4_) +
                                         (uint)CARRY4((int)local_e4 -
                                                      (int)(undefined4 *******)local_cc,uVar39),
                                         ((int)local_e4 - (int)(undefined4 *******)local_cc) +
                                         uVar39);
              unaff_EBX = (undefined4 *******)((ulonglong)lVar44 >> 0x20);
              if ((undefined4 *******)(uint)((uint)lVar44 < uVar39 * 2) <= unaff_EBX) {
                ppppppuVar31 = (undefined4 ******)*local_c4;
                puVar36 = puVar35;
                if (ppppppuVar31[2] != (undefined4 *****)0x0) goto LAB_0008a1d8;
                goto LAB_0008a2be;
              }
            }
          }
        }
        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {
          ppppppuVar31 = pppppppuVar16[2];
          if (((uint)ppppppuVar31[0xb] & 1) == 0) {
            pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[5];
            if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf60)) {
              *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;
              *(undefined4 *)(puVar36 + -0x14) = 0x8bd01;
              iVar19 = (*(code *)pppppppuVar10)();
              unaff_EBX = (undefined4 *******)ppppppuVar11;
              if (iVar19 != 0) goto LAB_00089370;
              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 0) {
                *(undefined4 ********)(puVar36 + -4) = pppppppuVar16;
                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47797;
                *(undefined4 *)(puVar36 + -0xc) = 0xaa;
                *(int *)(puVar36 + -0x10) = (int)local_ac + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar36 + -0x14) = &UNK_0008bd35;
                FUN_000da200();
              }
            }
            if (pppppppuVar16[3] != (undefined4 ******)0x0) goto LAB_00089b0f;
            unaff_EBX = (undefined4 *******)0x0;
          }
        }
        else if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4) {
LAB_00089b0f:
          unaff_EBX = (undefined4 *******)local_ac;
          local_bc = &local_40;
          *(undefined4 *******)(puVar36 + -8) = local_bc;
          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;
          *(undefined4 *)(puVar36 + -0x10) = param_4;
          *(undefined4 *)(puVar36 + -0x14) = 0x89b2b;
          lVar44 = FUN_001eb810();
          local_5c = lVar44;
          if ((undefined4 *******)local_40 == (undefined4 *******)0x0) {
            local_5c = lVar44 + (ulonglong)
                                (1 << (*(byte *)((int)pppppppuVar16 + 0x29) >> 5) & 0xfffffffc);
            goto LAB_00089b5e;
          }
        }
      }
      else {
        unaff_EBX = (undefined4 *******)ppppppuVar31[0x2f];
        uVar39 = (int)ppppppuVar11 - (int)ppppppuVar31[0x2c];
        if ((uint)((int)ppppppuVar31[0x30] - (int)unaff_EBX >> 2) <= uVar39) {
          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47737;
          *(undefined4 *)(puVar36 + -0xc) = 0x8ad;
          *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4746e;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar36 + -0x14) = 0x8c096;
          FUN_000da200();
        }
        pppppppuVar16 = (undefined4 *******)unaff_EBX[uVar39];
        local_c4 = local_f8;
        pppppuVar26 = (undefined4 *****)(*local_f8)[3];
        if (pppppuVar26 == (undefined4 *****)0x0) {
LAB_0008c096:
          *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477ea;
          *(undefined4 *)(puVar36 + -0xc) = 0x73;
          *(int *)(puVar36 + -0x10) = (int)local_ac + -0x131d93;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar36 + -0x14) = 0x8c0b4;
          FUN_000da200();
        }
        if (pppppppuVar16 == (undefined4 *******)0x0) goto LAB_000899b9;
        if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 0x10) == 0) {
          pppppppuVar10 = unaff_EBX;
          if (((undefined4 *******)pppppuVar26[0x2c] == pppppppuVar16) &&
             ((undefined4 *******)pppppuVar26[0x2d] != (undefined4 *******)0x0)) {
            pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];
          }
        }
        else {
          *(undefined4 ********)(puVar36 + -0xc) = pppppppuVar16;
          *(undefined4 *)(puVar36 + -0x10) = param_4;
          *(undefined4 *)(puVar36 + -0x14) = 0x8a11a;
          pppppppuVar30 = (undefined4 *******)FUN_001e6f30();
          pppppppuVar16 = (undefined4 *******)pppppuVar26[0x2d];
          if ((((undefined4 *******)pppppuVar26[0x2c] != pppppppuVar30) ||
              (pppppppuVar16 == (undefined4 *******)0x0)) &&
             (pppppppuVar16 = pppppppuVar30, pppppppuVar30 == (undefined4 *******)0x0)) {
            ppppppuVar31 = (undefined4 ******)*local_a8;
            ppppppuVar11 = (undefined4 ******)local_a8[5];
            goto LAB_000899d1;
          }
        }
LAB_00089257:
        local_b4._0_4_ = (undefined4 *******)local_a8[4];
        if (((uint)(undefined4 *******)local_b4 & 0x7fffffff) < 0xfd) {
                    /* WARNING: Could not recover jumptable at 0x00089285. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar39 = (*(code *)((int)local_ac +
                             (int)local_ac[((uint)(undefined4 *******)local_b4 & 0x7fffffff) -
                                           0x49f43]))();
          return uVar39;
        }
        uVar9 = 0;
        if (((uint)pppppuVar26[2] & 2) == 0) {
          uVar9 = 0x10;
        }
        *(undefined4 *)(puVar36 + -0xc) = uVar9;
        *(undefined4 ********)(puVar36 + -0x10) = pppppppuVar16;
        *(undefined4 *)(puVar36 + -0x14) = 0x892ab;
        cVar7 = FUN_000a7d80();
        if (cVar7 == '\0') goto LAB_000899ee;
        if (((uint)pppppuVar26[2] & 2) != 0) {
          pppppuVar14 = (undefined4 *****)(*local_c4)[2];
          if (pppppuVar14 != (undefined4 *****)0x0) {
            if ((*(char *)((int)pppppuVar14 + 0x1a25) != '\0') ||
               (*(char *)((int)pppppuVar14 + 0x2931) != '\0')) goto LAB_00089ed0;
            local_b4._0_4_ = (undefined4 *******)local_a8[4];
            *(undefined4 *)(puVar36 + -4) = 0x89306;
            uVar9 = FUN_00051ac0();
            if ((char)uVar9 != '\0') goto LAB_00089ed0;
            ppppuVar17 = pppppuVar26[10];
            if (ppppuVar17 == (undefined4 ****)0x0) {
              *(undefined4 *)(puVar36 + -4) = uVar9;
              *(undefined4 *******)(puVar36 + -8) = local_ac + -0x477b1;
              *(undefined4 *)(puVar36 + -0xc) = 0x3a3;
              *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar36 + -0x14) = 0x8c3f9;
              FUN_000da200();
            }
            if (*(char *)(pppppuVar14 + 0xac7) == '\0') {
              uVar39 = 0xffffffe0;
              iVar19 = 0x20;
            }
            else {
              iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);
              uVar39 = -iVar19;
            }
            unaff_EBX = (undefined4 *******)((int)ppppuVar17[0x14] + iVar19 + -1 & uVar39);
            *(undefined4 ********)(puVar36 + -4) = &local_40;
            *(undefined4 *)(puVar36 + -8) = 0;
            *(undefined4 *****)(puVar36 + -0xc) = ppppuVar17 + 0xc;
            *(undefined1 **)(puVar36 + -0x10) = local_84;
            *(undefined4 *)(puVar36 + -0x14) = 0x89359;
            local_40 = pppppppuVar16;
            local_3c = unaff_EBX;
            FUN_000b03a0();
            puVar35 = puVar36 + -4;
            if (local_80 != '\0') {
              ppppuVar17[0x14] = unaff_EBX + 4;
              unaff_EBX = unaff_EBX + 4;
              puVar35 = puVar36 + -4;
            }
            goto LAB_00089370;
          }
          goto LAB_0008c0b4;
        }
LAB_00089ed0:
        ppppppuVar31 = (undefined4 ******)*local_a8;
        ppppppuVar11 = (undefined4 ******)local_a8[1];
        pppppppuVar10 = (undefined4 *******)local_fc;
        if ((undefined4 *******)local_fc == (undefined4 *******)0x0) {
          if (ppppppuVar11 <
              (undefined4 ******)((int)ppppppuVar31[0x6a] - (int)ppppppuVar31[0x69] >> 2)) {
            pppppuVar26 = (undefined4 *****)(*local_c4)[3];
            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c3f9;
            ppppuVar17 = ppppppuVar31[0x69][(int)ppppppuVar11];
            if ((ppppuVar17 <
                 (undefined4 ****)((int)pppppuVar26[0x14] - (int)pppppuVar26[0x13] >> 2)) &&
               (local_b4._0_4_ = (undefined4 *******)pppppuVar26[0x13][(int)ppppuVar17],
               pppppppuVar10 = (undefined4 *******)local_b4,
               (undefined4 *******)local_b4 != (undefined4 *******)0x0)) goto LAB_00089eef;
          }
          pppppppuVar10 = (undefined4 *******)local_110;
          if ((undefined4 *******)local_110 == (undefined4 *******)0x0) goto LAB_0008c270;
        }
LAB_00089eef:
        local_b4._0_4_ = pppppppuVar10;
        pppppuVar26 = ppppppuVar31[0x21];
        if ((undefined4 ******)((int)ppppppuVar31[0x22] - (int)pppppuVar26 >> 3) <= ppppppuVar11)
        goto LAB_0008bf9d;
        local_cc._0_4_ = (undefined4 *******)pppppuVar26[(int)ppppppuVar11 * 2];
        local_cc._4_4_ = (undefined4 *****)pppppuVar26[(int)ppppppuVar11 * 2 + 1];
        if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) != 0xffffffff) {
          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x18];
          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdb9ec)) {
            if ((undefined4 ******)((int)ppppppuVar31[0xf] - (int)ppppppuVar31[0xe] >> 2) <=
                ppppppuVar11) goto LAB_0008c314;
            ppppuVar17 = ppppppuVar31[0xe][(int)ppppppuVar11];
          }
          else {
            *(undefined4 *******)(puVar36 + -0xc) = ppppppuVar11;
            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31;
            *(undefined4 *)(puVar36 + -0x14) = 0x8a707;
            ppppuVar17 = (undefined4 ****)(*(code *)pppppppuVar10)();
          }
          if (((uint)ppppuVar17[7] & 1) == 0) {
LAB_0008bf5b:
            ppppppuVar31 = local_ac;
            *(undefined4 *******)(puVar36 + -8) = local_ac + -0x47743;
            *(undefined4 *)(puVar36 + -0xc) = 0xc5;
            *(undefined4 *******)(puVar36 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar36 + -0x14) = 0x8bf7c;
            FUN_000da200();
          }
          bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)local_a8[2]);
          puVar23 = (undefined *)((int)(undefined4 *******)local_cc + (int)local_a8[2]);
          local_cc._0_4_ = (undefined4 *******)(puVar23 + (int)ppppuVar17[1]);
          local_cc._4_4_ =
               (undefined4 *****)
               ((undefined *)((int)local_cc._4_4_ + (int)local_a8[3]) +
               (int)ppppuVar17[2] + (uint)CARRY4((uint)puVar23,(uint)ppppuVar17[1]) + (uint)bVar41);
        }
        local_10c = (undefined4 ******)local_a8[6];
        unaff_EBX = (undefined4 *******)local_a8[7];
        local_e4 = (undefined4 ******)CONCAT31(local_e4._1_3_,*(undefined1 *)((int)local_a8 + 0x13))
        ;
        local_dc._0_4_ = (undefined4 *******)((undefined4 *******)local_b4)[0x1d];
        uVar39 = (uint)local_a8[4] & 0x7fffffff;
        ppppppuVar31 = ((undefined4 *******)local_b4)[0x11];
        puVar38 = puVar36;
        local_108 = unaff_EBX;
        local_38 = local_10c;
        local_34 = unaff_EBX;
        local_2c = (undefined4 *******)local_dc;
        if (pppppppuVar16 == (undefined4 *******)0x0) {
          local_f4 = (undefined4 ******)local_a8[5];
          pppppppuVar10 = (undefined4 *******)*local_a8;
          local_40 = (undefined4 *******)0x0;
          local_bc = &local_40;
          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);
          *(undefined4 *)(puVar36 + -4) = 0x8a382;
          local_3c = pppppppuVar10;
          local_30 = local_f4;
          FUN_000553c0();
          unaff_EBX = (undefined4 *******)local_8c;
          if (local_88 != '\0') {
            *(undefined4 *)(puVar36 + -4) = 0x8adcd;
            iVar19 = FUN_00065740();
            ((undefined4 *******)local_b4)[0x1d] =
                 (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);
            pppppuVar26 = (undefined4 *****)(*local_c4)[2];
            if (pppppuVar26 == (undefined4 *****)0x0) goto LAB_0008c376;
            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {
              uVar20 = 0xffffffe0;
              iVar22 = 0x20;
            }
            else {
              iVar22 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);
              uVar20 = -iVar22;
            }
            ((undefined4 *******)local_b4)[0x1d] =
                 (undefined4 ******)
                 ((uint)((int)(undefined4 *******)local_dc + iVar19 + iVar22 + -1) & uVar20);
            if (((((uint)((undefined4 *******)local_b4)[0xd][2] & 2) != 0) &&
                (*(char *)((int)((undefined4 *******)local_b4)[0xd] + 0x9d) != '\0')) &&
               ((*(byte *)((int)local_f4 + (int)pppppppuVar10[0x6c]) & 0xe0) == 0)) {
              ppppppuVar31 = pppppppuVar10[0x37];
              if ((undefined4 *******)
                  (((int)pppppppuVar10[0x38] - (int)ppppppuVar31 >> 2) * -0x33333333) <= local_f4) {
                *(undefined4 *)(puVar36 + -4) = 0x8c26a;
                FUN_000538b0();
LAB_0008c270:
                *(undefined4 *******)(puVar36 + -8) = local_ac + -0x478d6;
                *(undefined4 *)(puVar36 + -0xc) = 0xd24;
                *(undefined4 *******)(puVar36 + -0x10) = local_ac + -0x4745f;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar36 + -0x14) = 0x8c291;
                FUN_000da200();
              }
              bVar42 = *(byte *)((int)ppppppuVar31 + (int)local_f4 * 0x14 + 0xb);
              if ((((bVar42 & 0x40) == 0) &&
                  (((uint)ppppppuVar31[(int)local_f4 * 5 + 2] & 0x7ffffff) != 0)) &&
                 ((bVar42 & 8) != 0)) {
                *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x80;
                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;
              }
            }
          }
          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)unaff_EBX + 0x1f))) {
            *(byte *)((int)unaff_EBX + 0x1f) = *(byte *)((int)unaff_EBX + 0x1f) | 0x40;
          }
          if (uVar39 - 0xb < 3) {
            local_e4 = (undefined4 *******)0x8000;
          }
          else {
            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;
            local_e4 = (undefined4 *******)0x2000000;
          }
          local_e0 = (undefined4 *****)0x0;
          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)
          goto LAB_0008c2e9;
          local_dc._4_4_ = (undefined4 ******)0x0;
          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
LAB_0008c192:
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar38 + -4) = 0x8c197;
            FUN_00052750();
          }
          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
          if (uVar39 < 0x20) {
            uVar39 = 0x20;
          }
          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) goto LAB_0008a0fd;
          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);
          unaff_EBX = (undefined4 *******)
                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);
          local_118 = (uint)((int)((undefined4 *******)local_b4)[2] +
                            (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) +
                            (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +
                            ((uVar39 != 0) - 1)) & -(uint)(uVar39 != 0);
          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)unaff_EBX);
          iVar19 = local_118 + CARRY4((uint)(undefined4 *******)local_dc,(uint)unaff_EBX);
          local_11c = unaff_EBX;
        }
        else {
          local_3c = (undefined4 *******)0x0;
          local_bc = &local_40;
          local_30 = (undefined4 *******)0x0;
          local_28 = (undefined4 ****)((uint)ppppppuVar31 & 0x3fffffff);
          *(undefined4 *)(puVar36 + -4) = 0x8a02d;
          local_f4 = ppppppuVar31;
          local_40 = pppppppuVar16;
          FUN_000553c0();
          pppppppuVar10 = (undefined4 *******)local_b4;
          local_f4 = local_8c;
          if (local_88 != '\0') {
            *(undefined4 *)(puVar36 + -4) = 0x8a4b7;
            iVar19 = FUN_00065740();
            ppppppuVar11 = local_ac;
            pppppppuVar10[0x1d] = (undefined4 ******)((int)(undefined4 *******)local_dc + iVar19);
            ppppppuVar31 = pppppppuVar10[0xd];
            if (((((uint)ppppppuVar31[2] & 2) != 0) && (*(char *)((int)ppppppuVar31 + 0x9d) != '\0')
                ) && (((uint)pppppppuVar16[10] & 0xf) == 2)) {
              if ((*(byte *)((int)pppppppuVar16 + 0x2a) & 7) == 0) {
                if ((*(byte *)((int)pppppppuVar16 + 0x2b) & 0x20) == 0) {
                  *(undefined4 *******)(puVar36 + -0x10) = pppppppuVar16[3];
                  *(undefined4 *)(puVar36 + -0x14) = 0x8bf3b;
                  bVar42 = FUN_001e6ac0();
                  bVar42 = bVar42 ^ 1;
                  pppppppuVar10 = (undefined4 *******)ppppppuVar11;
                }
                else {
                  bVar42 = pppppppuVar16[3] != (undefined4 ******)0x0;
                }
              }
              else {
                bVar42 = (*(byte *)((int)pppppppuVar16 + 0x2a) & 7) != 4;
              }
              if (((bVar42 == 0) || ((*(byte *)((int)pppppppuVar16 + 0x29) & 0xe0) != 0)) ||
                 (((uint)pppppppuVar16[0xb] & 0x10) != 0)) {
                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];
              }
              else {
                *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x80;
                *(undefined1 *)((int)((undefined4 *******)local_b4)[0xd] + 0x9f) = 1;
                ppppppuVar31 = ((undefined4 *******)local_b4)[0xd];
              }
            }
            if (((undefined4 *******)ppppppuVar31[0x2d] == (undefined4 *******)0x0) ||
               (((undefined4 *******)ppppppuVar31[0x2c] != pppppppuVar16 &&
                ((undefined4 *******)ppppppuVar31[0x2d] != pppppppuVar16)))) {
              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];
            }
            else {
              *(undefined1 *)(ppppppuVar31 + 0x28) = 1;
              ppppppuVar31 = ((undefined4 *******)local_b4)[0x1d];
              ((undefined4 *******)local_b4)[0x25] = ppppppuVar31 + -5;
            }
            pppppuVar26 = (undefined4 *****)(*local_c4)[2];
            if (pppppuVar26 == (undefined4 *****)0x0) {
LAB_0008c376:
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar36 + -4) = 0x8c37b;
              FUN_00052750();
            }
            if (*(char *)(pppppuVar26 + 0xac7) == '\0') {
              uVar20 = 0xffffffe0;
              iVar19 = 0x20;
            }
            else {
              iVar19 = 1 << ((byte)pppppuVar26[0xac8] & 0x1f);
              uVar20 = -iVar19;
            }
            ((undefined4 *******)local_b4)[0x1d] =
                 (undefined4 ******)((uint)((int)ppppppuVar31 + iVar19 + -1) & uVar20);
            unaff_EBX = pppppppuVar10;
          }
          if ((-1 < (char)local_e4) && (-1 < *(char *)((int)local_f4 + 0x1f))) {
            *(byte *)((int)local_f4 + 0x1f) = *(byte *)((int)local_f4 + 0x1f) | 0x40;
          }
          if (uVar39 - 0xb < 3) {
            local_e4 = (undefined4 *******)0x8000;
          }
          else {
            if (((uVar39 + 0x7ffffff6 & 0x7ffffff7) != 0) && (uVar39 != 0x17)) goto LAB_00089370;
            local_e4 = (undefined4 *******)0x2000000;
          }
          local_e0 = (undefined4 *****)0x0;
          if (((uint)local_cc._4_4_ & (uint)(undefined4 *******)local_cc) == 0xffffffff)
          goto LAB_0008c2e9;
          local_dc._4_4_ = (undefined4 ******)0x0;
          if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) goto LAB_0008c192;
          uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
          if (uVar39 < 0x20) {
            uVar39 = 0x20;
          }
          if (((uint)((undefined4 *******)local_b4)[7] & 1) == 0) {
LAB_0008a0fd:
            local_dc._4_4_ = (undefined4 ******)0x0;
            local_e0 = (undefined4 ****)0x0;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar36 + -4) = &UNK_0008a102;
            FUN_00052f10();
          }
          puVar23 = (undefined *)((uVar39 - 1) + (int)((undefined4 *******)local_b4)[1]);
          unaff_EBX = (undefined4 *******)
                      ((int)((undefined4 *******)local_b4)[2] +
                      (uint)CARRY4(uVar39 - 1,(uint)((undefined4 *******)local_b4)[1]) +
                      ((uVar39 != 0) - 1));
          local_104 = (undefined4 *)
                      ((uint)((int)((undefined4 *******)local_b4)[0x1c] + (int)puVar23) & -uVar39);
          local_100 = (int)unaff_EBX +
                      (uint)CARRY4((uint)((undefined4 *******)local_b4)[0x1c],(uint)puVar23) &
                      -(uint)(uVar39 != 0);
          pppppppuVar10 = (undefined4 *******)((int)(undefined4 *******)local_dc + (int)local_104);
          iVar19 = local_100 + CARRY4((uint)(undefined4 *******)local_dc,(uint)local_104);
        }
        local_dc._4_4_ = (undefined4 ******)0x0;
        local_e0 = (undefined4 *****)0x0;
        if (((iVar19 - (int)local_cc._4_4_) - (uint)(pppppppuVar10 < (undefined4 *******)local_cc))
            + (uint)CARRY4((int)pppppppuVar10 - (int)(undefined4 *******)local_cc,(uint)local_e4) <
            (uint)((uint)((int)local_e4 + ((int)pppppppuVar10 - (int)(undefined4 *******)local_cc))
                  < (uint)((int)local_e4 * 2))) goto LAB_00089370;
        ppppppuVar31 = (undefined4 ******)*local_c4;
LAB_0008a1d8:
        pppppppuVar10 = (undefined4 *******)local_b4;
        puVar36 = puVar35;
        if (((uint)ppppppuVar31[5] & 0x40) != 0) {
          pppppuVar26 = *ppppppuVar31;
          ppppppuVar31 = ((undefined4 *******)local_b4)[0xb];
          pppppuVar14 = *ppppppuVar31;
          *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[0xc];
          *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;
          *(undefined4 *******)(puVar35 + -0x10) = local_bc;
          ppppuVar17 = pppppuVar14[0x10];
          *(undefined4 *)(puVar35 + -0x14) = 0x8a1ff;
          (*(code *)ppppuVar17)();
          ppppppuVar11 = local_40;
          pppppuVar14 = pppppppuVar10[0xb][1];
          local_b4._0_4_ = (undefined4 *******)local_a8[2];
          ppppppuVar31 = (undefined4 ******)*local_a8;
          local_bc = (undefined4 ******)local_a8[1];
          pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[0x10];
          if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xd8af4)) {
            *(undefined4 *******)(puVar35 + -0xc) = local_bc;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + 0x24;
            *(undefined8 **)(puVar35 + -0x14) = &local_5c;
                    /* try { // try from 0008a253 to 0008a257 has its CatchHandler @ 0008c403 */
            *(undefined4 *)(puVar35 + -0x18) = 0x8a258;
            FUN_000b1290();
          }
          else {
            *(undefined4 *******)(puVar35 + -0xc) = local_bc;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
            *(undefined8 **)(puVar35 + -0x14) = &local_5c;
                    /* try { // try from 0008af30 to 0008af31 has its CatchHandler @ 0008c403 */
            *(undefined4 *)(puVar35 + -0x18) = 0x8af32;
            (*(code *)pppppppuVar10)();
          }
          unaff_EBX = (undefined4 *******)local_ac;
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;
          ppppppuVar31 = (undefined4 ******)*local_a8;
          *(undefined4 ******)(puVar35 + -0x14) = pppppuVar14;
          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;
          *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_5c;
          *(undefined4 ******)(puVar35 + -0x20) = ppppppuVar31[1];
          *(undefined4 *******)(puVar35 + -0x24) = local_ac + -0x47228;
          *(undefined4 ******)(puVar35 + -0x28) = pppppuVar26;
                    /* try { // try from 0008a284 to 0008a288 has its CatchHandler @ 0008c418 */
          *(undefined4 *)(puVar35 + -0x2c) = 0x8a289;
          FUN_000d1270();
          if ((undefined4 *******)local_5c != &local_54) {
            *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_5c;
            *(undefined4 *)(puVar35 + -0x1c) = 0x8a29f;
            FUN_00248220();
          }
          ppppppuVar31 = local_ac;
          puVar36 = puVar35 + -8;
          if ((undefined4 *******)local_40 != &local_38) {
            *(undefined4 *******)(puVar35 + -0x18) = local_40;
            *(undefined4 *)(puVar35 + -0x1c) = 0x8a2bb;
            FUN_00248220();
            unaff_EBX = (undefined4 *******)ppppppuVar31;
            puVar36 = puVar35 + -8;
          }
        }
LAB_0008a2be:
        puVar35 = puVar36;
        if (*(char *)(param_1 + 0xa1) == '\0') {
          *(undefined1 *)(param_1 + 0xa1) = 1;
          local_b4._0_4_ = *(undefined4 ********)(param_1 + 0xa4);
          *(int *)(param_1 + 0xa4) = (int)(undefined4 *******)local_b4 + 1;
          if ((int)(undefined4 *******)local_b4 + 1 < 3) {
            return 1;
          }
        }
      }
LAB_00089370:
      local_a8 = local_a8 + 8;
      puVar36 = puVar35;
    } while (*(undefined4 ********)(param_1 + 0x78) != (undefined4 *******)local_a8);
  }
  local_f4 = *(undefined4 *******)(param_1 + 100);
  local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,local_f4 != local_120);
  if ((undefined4 *******)local_f4 != (undefined4 *******)0x0) {
    *(undefined4 *)(puVar35 + -4) = 0x8b9ca;
    FUN_0005c350();
  }
  ppppppuVar31 = local_ac;
  if (local_f4 != local_120) {
    unaff_EBX = *(undefined4 ********)(param_1 + 0x24);
    bVar42 = *(byte *)(unaff_EBX + 7);
    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;
    puVar37 = puVar35;
    if ((bVar42 & 8) != 0) {
      if ((bVar42 & 2) == 0) {
        unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);
        unaff_EBX[4] = (undefined4 ******)0x0;
        *(undefined4 *)(puVar35 + -4) = 0;
        *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;
        *(undefined4 *)(puVar35 + -0xc) = 0x218;
        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x8c35a;
        FUN_000da200();
      }
      goto LAB_0008b9d8;
    }
    unaff_EBX[3] = (undefined4 ******)((int)local_f4 << 4);
    unaff_EBX[4] = (undefined4 ******)0x0;
    *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa | 2;
    *(byte *)((int)unaff_EBX[8] + 0x92) = *(byte *)((int)unaff_EBX[8] + 0x92) | 4;
    ppppppuVar31 = unaff_EBX[0xb];
    if (ppppppuVar31 != (undefined4 ******)0x0) {
      local_b4._4_4_ = (undefined4 *****)0x0;
      bVar42 = *(byte *)(ppppppuVar31 + 7);
      *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xfa;
      local_a8 = (undefined4 ******)*ppppppuVar31;
      pppppppuVar10 = (undefined4 *******)((undefined4 *******)local_a8)[0xf];
      local_b4._0_4_ = (undefined4 *******)((int)local_f4 * 0x18);
      if ((bVar42 & 8) == 0) {
        *(byte *)(ppppppuVar31 + 7) = bVar42 & 0xf8;
        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) goto LAB_0008bb14;
      }
      else {
        if (pppppppuVar10 != (undefined4 *******)(local_ac + -0xdbf20)) {
LAB_0008bb14:
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
          *(undefined4 *)(puVar35 + -0x14) = 0x8bb1a;
          (*(code *)pppppppuVar10)();
          ppppppuVar31 = unaff_EBX[0xb];
        }
        if (((uint)ppppppuVar31[7] & 2) != 0) {
LAB_0008b9d8:
          ppppppuVar31 = local_ac;
          *(undefined4 *******)(puVar37 + -8) = local_ac + -0x47868;
          *(undefined4 *)(puVar37 + -0xc) = 0x231;
          *(undefined4 *******)(puVar37 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar37 + -0x14) = &UNK_0008b9f9;
          FUN_000da200();
        }
        local_a8 = (undefined4 ******)*ppppppuVar31;
      }
      ppppppuVar11 = local_a8;
      ppppppuVar31[3] = (undefined4 *******)local_b4;
      ppppppuVar31[4] = local_b4._4_4_;
      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
      ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];
      *(undefined4 *)(puVar35 + -0x14) = 0x89480;
      (*(code *)ppppppuVar11)();
      if (((uint)ppppppuVar31[7] & 2) == 0) {
LAB_0008c197:
        ppppppuVar31 = local_ac;
        *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;
        *(undefined4 *)(puVar35 + -0xc) = 0x163;
        *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x8c1b8;
        FUN_000da200();
      }
      *(byte *)((int)unaff_EBX[0xb][8] + 0x92) = *(byte *)((int)unaff_EBX[0xb][8] + 0x92) | 4;
    }
  }
  piVar13 = *(int **)(param_1 + 0x50);
  pppppppuVar10 = (undefined4 *******)(local_ac + -0x474c9);
  if (piVar13 != *(int **)(param_1 + 0x4c)) {
    do {
      local_b4._0_4_ = pppppppuVar10;
      ppppppuVar31 = local_ac;
      pppppppuVar10 = (undefined4 *******)piVar13[-1];
      local_a8 = pppppppuVar10;
      if (pppppppuVar10[0x26] == (undefined4 ******)0x0) {
        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;
      }
      else {
        *(undefined4 *******)(puVar35 + -0xc) = pppppppuVar10[0x26];
        *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10 + 0x27;
        *(undefined4 *)(puVar35 + -0x14) = 0xc;
        *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;
        *(undefined4 ********)(puVar35 + -0x1c) = pppppppuVar10;
        *(undefined4 *)(puVar35 + -0x20) = param_5;
        *(undefined4 *)(puVar35 + -0x24) = 0x8950d;
        FUN_00107c70();
        local_a8[0x26] = (undefined4 ******)0x0;
        unaff_EBX = (undefined4 *******)ppppppuVar31;
        if (*(int **)(param_1 + 0x4c) == piVar13 + -1) goto LAB_00089528;
      }
      piVar13 = piVar13 + -1;
      pppppppuVar10 = (undefined4 *******)local_b4;
    } while( true );
  }
  goto LAB_0008a784;
LAB_00089744:
  do {
    unaff_EBX = (undefined4 *******)*piVar40;
    ppppppuVar31 = unaff_EBX[8];
    pppppppuVar10 = (undefined4 *******)(*ppppppuVar31)[3];
    if (pppppppuVar10 == (undefined4 *******)local_bc) {
      uVar43 = *(undefined8 *)(ppppppuVar31 + 9);
    }
    else {
      *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
                    /* try { // try from 0008a774 to 0008ad8d has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -0x14) = 0x8a776;
      uVar43 = (*(code *)pppppppuVar10)();
    }
    uVar39 = (uint)((ulonglong)uVar43 >> 0x20);
    local_a8 = (undefined4 ******)uVar43;
    if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c30a to 0008c313 has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -4) = 0x8c30f;
      FUN_00052750();
    }
    pppppppuVar10 = (undefined4 *******)(1 << ((byte)(*local_c4)[2][0xac8] & 0x1f));
    if (pppppppuVar10 < (undefined4 *******)0x20) {
      if (uVar39 == 0 && (uint)((undefined4 *******)0x1f < local_a8) <= -uVar39) {
        ppppppuVar31[9] = (undefined4 *****)0x20;
        ppppppuVar31[10] = (undefined4 *****)0x0;
        local_b4._0_4_ = (undefined4 *******)0x20;
LAB_000897c9:
        local_b4._4_4_ = (undefined4 *****)0x0;
        pppppuVar26 = ppppppuVar31[0x2b];
        if (pppppuVar26 != (undefined4 *****)0x0) {
          pppppuVar26[1] = (undefined4 *******)local_b4;
          pppppuVar26[2] = (undefined4 ****)0x0;
        }
      }
    }
    else {
      local_b4._4_4_ = (undefined4 *****)0x0;
      local_b4._0_4_ = pppppppuVar10;
      if (uVar39 < (local_a8 < pppppppuVar10)) {
        ppppppuVar31[9] = pppppppuVar10;
        ppppppuVar31[10] = (undefined4 *****)0x0;
        goto LAB_000897c9;
      }
    }
    if ((unaff_EBX[0x1e] != unaff_EBX[0x1d]) || (unaff_EBX[0x1f] != unaff_EBX[0x20])) {
      unaff_EBX[0x20] = unaff_EBX[0x1f];
      unaff_EBX[0x1e] = unaff_EBX[0x1d];
      local_40 = *(undefined4 *******)(*piVar40 + 0x20);
      *(undefined4 *)(puVar35 + -0xc) = 1;
      *(undefined4 *)(puVar35 + -0x10) = 0;
      *(undefined8 ***)(puVar35 + -0x14) = local_68;
      *(undefined4 ********)(puVar35 + -0x18) = &local_40;
      *(undefined4 *******)(puVar35 + -0x1c) = local_10c;
      *(undefined1 **)(puVar35 + -0x20) = local_a4;
      local_68[0] = (undefined8 *)local_10c;
                    /* try { // try from 00089726 to 0008972a has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -0x24) = 0x8972b;
      FUN_000abee0();
      local_fc = (undefined4 ******)CONCAT31(local_fc._1_3_,1);
      puVar35 = puVar35 + -4;
    }
    piVar40 = piVar40 + 1;
  } while (*(int **)(param_1 + 0x50) != piVar40);
  local_e4 = local_54;
  if ((undefined4 *******)local_54 == (undefined4 *******)0x0) goto LAB_0008a7bd;
  do {
    local_b4 = 0;
    local_bc = (undefined4 ******)local_e4[1];
    local_a8 = ((undefined4 *******)local_bc)[0x1b];
    lVar44 = 0;
    if (local_a8 != ((undefined4 *******)local_bc)[0x1c]) {
      do {
        ppppppuVar31 = (undefined4 ******)*local_a8;
        local_b4 = lVar44;
        if ((undefined4 ******)local_a8[1] == (undefined4 ******)0x0) {
          if ((undefined4 ******)0xfffffffb < ppppppuVar31) {
            ppppppuVar11 = (undefined4 ******)local_a8[4];
            pppppppuVar10 = (undefined4 *******)(*ppppppuVar11)[3];
            if (pppppppuVar10 == (undefined4 *******)(local_ac + -0xdbf0c)) {
              lVar45 = *(longlong *)(ppppppuVar11 + 9);
            }
            else {
              *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11;
              *(undefined4 *)(puVar35 + -0x14) = 0x8ad8e;
              lVar45 = (*(code *)pppppppuVar10)();
              ppppppuVar31 = (undefined4 ******)*local_a8;
            }
            goto LAB_0008aa09;
          }
LAB_0008aab8:
          ppppppuVar31 = local_a8;
          *(undefined4 *******)(puVar35 + -0x10) = local_a8;
          *(undefined4 *)(puVar35 + -0x14) = 0x8aacd;
          local_b4 = lVar44;
          piVar13 = (int *)FUN_0015c600();
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31;
          *(undefined4 *)(puVar35 + -0x14) = 0x8aadd;
          uVar9 = FUN_0015c690();
          iVar19 = *piVar13;
          *(longlong *)(puVar35 + -8) = local_b4;
          *(undefined4 *)(puVar35 + -0xc) = uVar9;
          *(int **)(puVar35 + -0x10) = piVar13;
          pcVar3 = *(code **)(iVar19 + 0xdc);
          *(undefined4 *)(puVar35 + -0x14) = 0x8aaf6;
          (*pcVar3)();
          if ((undefined4 ******)*ppppppuVar31 != (undefined4 ******)0xfffffffc) goto LAB_0008aa48;
          local_cc._4_4_ = (undefined4 *****)0x0;
          unaff_EBX = (undefined4 *******)ppppppuVar31[4];
          local_dc = local_b4 + ZEXT48(unaff_EBX[0x1c]);
          local_cc._0_4_ = (undefined4 *******)((int)unaff_EBX[0x1f] + (int)unaff_EBX[0x1d]);
          if (*(char *)(unaff_EBX + 0x23) != '\0') {
            pppppuVar26 = unaff_EBX[0xd][0x2b];
            if (((uint)pppppuVar26[7] & 2) == 0) {
              *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47701;
              *(undefined4 *)(puVar35 + -0xc) = 0xcf;
              *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar35 + -0x14) = 0x8c054;
              FUN_000da200();
            }
            bVar41 = CARRY4((uint)(undefined4 *******)local_cc,(uint)pppppuVar26[3]);
            local_cc._0_4_ =
                 (undefined4 *******)((int)(undefined4 *******)local_cc + (int)pppppuVar26[3]);
            local_cc._4_4_ = (undefined4 *****)((int)pppppuVar26[4] + (uint)bVar41);
          }
          if (local_cc._4_4_ != (undefined4 *****)0x0 ||
              (undefined4 *******)local_cc != (undefined4 *******)0x0) {
            if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar35 + -4) = 0x8c314;
              FUN_00052750();
            }
            uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
            if (uVar39 < 0x20) {
              uVar39 = 0x20;
            }
            local_dc = local_dc + CONCAT44((uVar39 != 0) - 1,uVar39 - 1);
            local_dc = CONCAT44(-(uint)(uVar39 != 0) & (uint)((ulonglong)local_dc >> 0x20),
                                (uint)local_dc & -uVar39);
          }
          lVar44 = local_dc +
                   CONCAT44(((int)local_cc._4_4_ - (int)local_b4._4_4_) -
                            (uint)((undefined4 *******)local_cc < (undefined4 *******)local_b4),
                            (int)(undefined4 *******)local_cc - (int)(undefined4 *******)local_b4);
          ppppppuVar31 = (undefined4 ******)((ulonglong)lVar44 >> 0x20);
          local_cc = *(longlong *)(unaff_EBX + 0x21);
          if (unaff_EBX[0x22] < ppppppuVar31 ||
              (uint)((int)unaff_EBX[0x22] - (int)ppppppuVar31) <
              (uint)(unaff_EBX[0x21] < (undefined4 ******)lVar44)) {
            local_cc = lVar44;
          }
          bVar42 = *(byte *)(unaff_EBX + 7);
          *(byte *)(unaff_EBX + 7) = bVar42 & 0xfa;
          if ((bVar42 & 8) == 0) {
            *(byte *)(unaff_EBX + 7) = bVar42 & 0xf8;
          }
          else if ((bVar42 & 2) != 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47868;
            *(undefined4 *)(puVar35 + -0xc) = 0x231;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar35 + -0x14) = &UNK_0008acc9;
            FUN_000da200();
          }
          *(longlong *)(unaff_EBX + 3) = local_cc;
          if (((uint)local_bc[7] & 4) == 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4784e;
            *(undefined4 *)(puVar35 + -0xc) = 0xe3;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar35 + -0x14) = 0x8c075;
            FUN_000da200();
          }
          ppppppuVar31 = (undefined4 ******)local_bc[5];
          ppppppuVar11 = (undefined4 ******)local_bc[6];
          if (((uint)local_bc[7] & 1) == 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
            *(undefined4 *)(puVar35 + -0xc) = 0xc5;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008bfda to 0008bfde has its CatchHandler @ 0008c42d */
            *(undefined4 *)(puVar35 + -0x14) = 0x8bfdf;
            FUN_000da200();
          }
          ppppppuVar33 = (undefined4 ******)local_bc[1];
          ppppppuVar8 = (undefined4 ******)local_bc[1];
          ppppppuVar29 = (undefined4 ******)local_bc[2];
          unaff_EBX[5] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)local_bc[5]);
          ppppppuVar4 = *unaff_EBX;
          unaff_EBX[1] = (undefined4 ******)((int)(undefined4 *******)local_b4 + (int)ppppppuVar8);
          unaff_EBX[2] = (undefined4 ******)
                         ((int)ppppppuVar29 +
                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar33) +
                         (int)local_b4._4_4_);
          unaff_EBX[6] = (undefined4 ******)
                         ((int)ppppppuVar11 +
                         (uint)CARRY4((uint)(undefined4 *******)local_b4,(uint)ppppppuVar31) +
                         (int)local_b4._4_4_);
          *(byte *)(unaff_EBX + 7) = *(byte *)(unaff_EBX + 7) | 5;
          *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;
          pppppuVar26 = ppppppuVar4[0xe];
          *(undefined4 *)(puVar35 + -0x14) = 0x8ac5b;
          (*(code *)pppppuVar26)();
          if (((uint)unaff_EBX[7] & 2) == 0) {
            *(undefined4 *******)(puVar35 + -8) = local_ac + -0x478e2;
            *(undefined4 *)(puVar35 + -0xc) = 0x163;
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c02e to 0008c074 has its CatchHandler @ 0008c42d */
            *(undefined4 *)(puVar35 + -0x14) = 0x8c033;
            FUN_000da200();
          }
          lVar44 = local_b4 + local_cc;
          local_b4 = local_cc + local_b4;
          if (3 < param_2) {
            *(longlong *)(unaff_EBX + 0x21) = local_cc;
            local_b4 = lVar44;
          }
        }
        else {
          puVar23 = (undefined *)((int)local_a8[1] + -1);
          bVar42 = (byte)puVar23;
          bVar41 = ((uint)puVar23 & 0x20) == 0;
          lVar45 = CONCAT44((uint)!bVar41 << (bVar42 & 0x1f),(uint)bVar41 << (bVar42 & 0x1f));
LAB_0008aa09:
          lVar44 = local_b4;
          if (lVar45 != 0) {
            lVar44 = lVar45 + local_b4 + -1;
            lVar44 = CONCAT44((uint)((ulonglong)lVar44 >> 0x20) &
                              -((int)((ulonglong)lVar45 >> 0x20) + (uint)((int)lVar45 != 0)),
                              (uint)lVar44 & -(int)lVar45);
          }
          local_b4 = lVar44;
          if ((undefined *)0x2 < (undefined *)((int)ppppppuVar31 + 3U)) goto LAB_0008aab8;
LAB_0008aa48:
          unaff_EBX = (undefined4 *******)local_ac;
          *(undefined4 *******)(puVar35 + -0x10) = local_a8;
          *(undefined4 *)(puVar35 + -0x14) = 0x8aa5c;
          lVar44 = FUN_0015c5c0();
          local_b4 = lVar44 + local_b4;
        }
        local_a8 = local_a8 + 6;
        lVar44 = local_b4;
      } while ((undefined4 ******)local_bc[0x1c] != local_a8);
    }
    *(byte *)((int)local_bc + 0x92) = *(byte *)((int)local_bc + 0x92) & 0xfb;
    local_e4 = (undefined4 ******)*local_e4;
  } while ((undefined4 *******)local_e4 != (undefined4 *******)0x0);
  local_e4 = (undefined4 *******)0x0;
  pppppppuVar10 = (undefined4 *******)local_ac;
  goto joined_r0x0008acfa;
LAB_00089528:
  if (piVar13 + -1 != *(int **)(param_1 + 0x50)) {
    iVar19 = piVar13[-1];
    unaff_EBX = (undefined4 *******)(local_ac + 0x13a);
    pppppuVar26 = (*unaff_EBX)[2];
    local_c4 = unaff_EBX;
    if (pppppuVar26 != (undefined4 *****)0x0) {
      local_b4._0_4_ = (undefined4 *******)(local_ac + -0x474c9);
      local_a8 = unaff_EBX;
      do {
        ppppppuVar31 = local_ac;
        if (((*(char *)((int)pppppuVar26 + 0x2105) != '\0') &&
            (*(int *)(*(int *)(iVar19 + 0x34) + 0x28) != 0)) &&
           (*(int *)(iVar19 + 0x7c) + *(int *)(iVar19 + 0x74) + (uint)*(byte *)(iVar19 + 0x8c) != 0)
           ) {
          puVar21 = (undefined2 *)(iVar19 + 0xa5);
          *(undefined4 *)(iVar19 + 0x9c) = 0;
          *(undefined4 *)(iVar19 + 0xa0) = 0;
          *(undefined1 *)(iVar19 + 0xa4) = 0;
          uVar39 = *(uint *)(iVar19 + 0x94);
          if (uVar39 != 0xffffffff) {
            uVar20 = uVar39 >> 2;
            if (uVar39 < 0x100) {
              puVar21 = (undefined2 *)(iVar19 + 0xa6);
              *(char *)(iVar19 + 0xa5) = (char)uVar20 + '@';
            }
            else if (uVar39 < 0x400) {
              *(undefined1 *)(iVar19 + 0xa5) = 2;
              puVar21 = (undefined2 *)(iVar19 + 0xa7);
              *(char *)(iVar19 + 0xa6) = (char)uVar20;
            }
            else if (uVar39 < 0x40000) {
              *(undefined1 *)(iVar19 + 0xa5) = 3;
              puVar21 = (undefined2 *)(iVar19 + 0xa8);
              *(short *)(iVar19 + 0xa6) = (short)uVar20;
            }
            else {
              *(undefined1 *)(iVar19 + 0xa5) = 4;
              puVar21 = (undefined2 *)(iVar19 + 0xaa);
              *(uint *)(iVar19 + 0xa6) = uVar20;
            }
            *puVar21 = 0x4111;
            uVar39 = *(uint *)(*(int *)(iVar19 + 0x34) + 8);
            *(undefined2 *)((int)puVar21 + 3) = 0x644;
            *(undefined1 *)((int)puVar21 + 5) = 0x41;
            *(byte *)(puVar21 + 1) = (-((uVar39 & 2) == 0) & 0xfdU) + 0x7f;
            puVar21 = puVar21 + 3;
          }
          iVar22 = (int)puVar21 - (iVar19 + 0x9c);
          *(int *)(iVar19 + 0x98) = iVar22;
          *(int *)(puVar35 + -0xc) = iVar22;
          *(int *)(puVar35 + -0x10) = iVar19 + 0x9c;
          *(undefined4 *)(puVar35 + -0x14) = 0xc;
          *(undefined4 ********)(puVar35 + -0x18) = (undefined4 *******)local_b4;
          *(int *)(puVar35 + -0x1c) = iVar19;
          *(undefined4 *)(puVar35 + -0x20) = param_5;
          *(undefined4 *)(puVar35 + -0x24) = 0x89654;
          FUN_00111200();
          unaff_EBX = (undefined4 *******)ppppppuVar31;
        }
        if (*(int **)(param_1 + 0x50) == piVar13) {
          local_5c._4_4_ = (undefined4 *******)0x1;
          local_54 = (undefined4 *******)0x0;
          piVar40 = *(int **)(param_1 + 0x4c);
          local_5c._0_4_ = (undefined4 *******)&local_44;
          local_50 = 0;
          local_10c = (undefined4 ******)&local_5c;
          local_4c = 0x3f800000;
          local_48 = 0;
          local_44 = 0;
          if (piVar40 == piVar13) goto LAB_0008a7bd;
          local_bc = local_ac + -0xdbefc;
          goto LAB_00089744;
        }
        iVar19 = *piVar13;
        piVar13 = piVar13 + 1;
        pppppuVar26 = (undefined4 *****)(*local_a8)[2];
      } while (pppppuVar26 != (undefined4 *****)0x0);
    }
    goto LAB_0008c0b4;
  }
LAB_0008a784:
  local_5c._0_4_ = (undefined4 *******)&local_44;
  local_5c._4_4_ = (undefined4 *******)0x1;
  local_10c = (undefined4 ******)&local_5c;
  local_54 = (undefined4 *******)0x0;
  local_50 = 0;
  local_4c = 0x3f800000;
  local_48 = 0;
  local_44 = 0;
LAB_0008a7bd:
  pppppppuVar10 = (undefined4 *******)local_ac;
joined_r0x0008acfa:
  local_ac = pppppppuVar10;
  if ((char)local_fc != '\0') goto LAB_0008ad00;
  if ((undefined4 *******)local_f4 == (undefined4 *******)0x0) {
    if ((char)local_fc != '\0') goto LAB_0008ad00;
    local_c4 = pppppppuVar10 + 0x13a;
LAB_0008af56:
    pppppuVar26 = (undefined4 *****)(*local_c4)[2];
    if (pppppuVar26 == (undefined4 *****)0x0) {
      *(undefined4 ********)(puVar35 + -4) = unaff_EBX;
      ppppppuVar31 = local_ac;
      *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
      *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c211 to 0008c215 has its CatchHandler @ 0008c42d */
      *(undefined **)(puVar35 + -0x14) = &UNK_0008c216;
      FUN_000da200();
    }
  }
  else {
    local_c4 = pppppppuVar10 + 0x13a;
    pppppuVar26 = (undefined4 *****)(*local_c4)[2];
    if (pppppuVar26 == (undefined4 *****)0x0) {
      *(undefined4 *)(puVar35 + -4) = 0;
      *(undefined4 ********)(puVar35 + -8) = pppppppuVar10 + -0x47716;
      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
      *(int *)(puVar35 + -0x10) = (int)pppppppuVar10 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c371 to 0008c375 has its CatchHandler @ 0008c42d */
      *(undefined4 *)(puVar35 + -0x14) = 0x8c376;
      FUN_000da200();
    }
    if ((*(char *)((int)pppppuVar26 + 0x1a25) != '\0') ||
       (*(char *)((int)pppppuVar26 + 0x2931) != '\0')) {
      iVar19 = *(int *)(param_1 + 0x24);
      if ((*(byte *)(iVar19 + 0x1c) & 8) == 0) {
        *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) & 0xfd;
      }
      local_a8 = *(undefined4 *******)(iVar19 + 0x2c);
      if ((*(byte *)((undefined4 *******)local_a8 + 7) & 8) == 0) {
        *(byte *)((undefined4 *******)local_a8 + 7) =
             *(byte *)((undefined4 *******)local_a8 + 7) & 0xfd;
      }
      piVar13 = *(int **)(param_1 + 0x60);
      if (piVar13 != (int *)0x0) {
        local_bc = &local_40;
        while( true ) {
          local_b4._0_4_ = (undefined4 *******)piVar13[1];
          local_b4._4_4_ = (undefined4 *****)piVar13[2];
          iVar22 = piVar13[3];
          *(undefined4 *)(puVar35 + -0xc) = 1;
          *(undefined4 *)(puVar35 + -0x10) = 0;
          *(int *)(puVar35 + -0x14) = iVar22;
          *(int *)(puVar35 + -0x18) = iVar19;
          *(undefined4 *)(puVar35 + -0x1c) = 0x16;
          *(undefined4 *******)(puVar35 + -0x20) = local_bc;
          *(undefined4 *)(puVar35 + -0x24) = 0x8a935;
          FUN_0016dd00();
          ppppppuVar11 = local_a8;
          local_24 = (undefined4 *******)local_b4;
          local_20 = local_b4._4_4_;
          ppppppuVar31 = (undefined4 ******)local_a8[0xe];
          if (ppppppuVar31 == (undefined4 ******)local_a8[0xf]) {
            *(undefined4 *******)(puVar35 + -8) = local_bc;
            *(undefined4 *******)(puVar35 + -0xc) = ppppppuVar31;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar11 + 0xd;
            *(undefined4 *)(puVar35 + -0x14) = 0x8a975;
            FUN_000ad050();
            ppppppuVar11 = (undefined4 ******)ppppppuVar11[0xe];
          }
          else {
            ppppppuVar11 = ppppppuVar31 + 9;
            *ppppppuVar31 = local_40;
            ppppppuVar31[1] = local_3c;
            ppppppuVar31[2] = local_38;
            ppppppuVar31[3] = local_34;
            ppppppuVar31[4] = local_30;
            ppppppuVar31[5] = local_2c;
            ppppppuVar31[6] = (undefined4 *****)local_28;
            ppppppuVar31[7] = (undefined4 *******)local_b4;
            ppppppuVar31[8] = local_b4._4_4_;
            local_a8[0xe] = ppppppuVar11;
          }
          ppppppuVar31 = local_ac;
          iVar22 = (int)ppppppuVar11 - (int)local_a8[0xd] >> 2;
          iVar12 = iVar22 * 0x38e38e39;
          if (((uint)local_a8[7] & 2) != 0) {
            *(int *)(puVar35 + -4) = iVar12;
            *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47868;
            *(undefined4 *)(puVar35 + -0xc) = 0x231;
            *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3d5 to 0008c3d9 has its CatchHandler @ 0008c42d */
            *(undefined4 *)(puVar35 + -0x14) = 0x8c3da;
            FUN_000da200();
          }
          local_a8[3] = (undefined4 ******)(iVar22 * 0x55555558);
          local_a8[4] = (undefined4 ******)0x0;
          *(byte *)(iVar19 + 0x1c) = *(byte *)(iVar19 + 0x1c) | 0x10;
          if (((uint)local_2c & 0x10000000) != 0) {
            local_a8[0xb] = (undefined4 ******)((int)local_a8[0xb] + 1);
          }
          if (((undefined4 *****)local_28 != (undefined4 *****)0xfffffffc) &&
             ((undefined4 *******)local_3c != (undefined4 *******)0x0)) {
            if ((undefined4 ******)local_3c[0x19] == (undefined4 ******)0x0) {
              local_3c[0x18] = (undefined4 ******)(iVar12 + -1);
            }
            local_3c[0x19] = (undefined4 ******)((int)local_3c[0x19] + 1);
          }
          piVar13 = (int *)*piVar13;
          iVar19 = *(int *)(param_1 + 0x24);
          if (piVar13 == (int *)0x0) break;
          local_a8 = *(undefined4 *******)(iVar19 + 0x2c);
        }
      }
      ppppppuVar31 = local_ac;
      bVar42 = *(byte *)(iVar19 + 0x1c);
      if ((bVar42 & 2) == 0) {
        if ((bVar42 & 8) != 0) {
          *(int **)(puVar35 + -4) = piVar13;
          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x47840;
          *(undefined4 *)(puVar35 + -0xc) = 0x218;
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c260 to 0008c264 has its CatchHandler @ 0008c42d */
          *(undefined4 *)(puVar35 + -0x14) = 0x8c265;
          FUN_000da200();
        }
        *(byte *)(iVar19 + 0x1c) = bVar42 | 2;
      }
      unaff_EBX = *(undefined4 ********)(iVar19 + 0x2c);
      if (((uint)unaff_EBX[7] & 2) == 0) {
        ppppppuVar31 = *unaff_EBX;
        *(undefined4 ********)(puVar35 + -0x10) = unaff_EBX;
                    /* try { // try from 0008b1c5 to 0008b3a6 has its CatchHandler @ 0008c42d */
        pppppuVar26 = ppppppuVar31[0xe];
        *(undefined4 *)(puVar35 + -0x14) = 0x8b1c8;
        (*(code *)pppppuVar26)();
        ppppppuVar31 = local_ac;
        if (((uint)unaff_EBX[7] & 2) == 0) {
          *(int *)(puVar35 + -4) = iVar19;
          *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x478e2;
          *(undefined4 *)(puVar35 + -0xc) = 0x163;
          *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar35 + -0x14) = &UNK_0008b1f4;
          FUN_000da200();
        }
      }
      goto LAB_0008af56;
    }
  }
  if ((*(char *)(pppppuVar26 + 0x410) == '\0') || (*(char *)((int)pppppuVar26 + 0x1041) != '\0')) {
    local_110 = local_71;
    local_104 = *(undefined4 **)(param_1 + 0x4c);
    lVar44 = local_b4;
    if (local_104 != *(undefined4 **)(param_1 + 0x50)) {
      do {
        local_b4._4_4_ = (undefined4 *****)((ulonglong)lVar44 >> 0x20);
        local_a8 = (undefined4 ******)*local_104;
        ppppppuVar31 = ((undefined4 *******)local_a8)[0x11];
        lVar45 = local_dc;
        if (ppppppuVar31 != (undefined4 ******)0x0) {
          local_b4 = lVar44;
          if ((undefined4 ******)0x3fffffff < ppppppuVar31) {
            *(undefined4 *******)(puVar35 + -0x10) = local_ac + -0x4741d;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2c0 to 0008c2c4 has its CatchHandler @ 0008c411 */
            *(undefined **)(puVar35 + -0x14) = &UNK_0008c2c5;
            FUN_0028dc10();
          }
          *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 * 4;
                    /* try { // try from 0008b3d9 to 0008b3dd has its CatchHandler @ 0008c40a */
          *(undefined4 *)(puVar35 + -0x14) = 0x8b3de;
          local_f8 = (undefined4 ******)FUN_00246670();
          pppppppuVar10 = (undefined4 *******)local_f8;
          do {
            *pppppppuVar10 = (undefined4 ******)0x0;
            pppppppuVar10 = pppppppuVar10 + 1;
          } while (pppppppuVar10 != (undefined4 *******)local_f8 + (int)ppppppuVar31);
          for (ppppppuVar31 = (undefined4 ******)local_a8[0x10];
              ppppppuVar31 != (undefined4 ******)0x0;
              ppppppuVar31 = (undefined4 ******)*ppppppuVar31) {
            ((undefined4 *******)local_f8)[(int)ppppppuVar31[7]] = ppppppuVar31;
          }
          local_dc._0_4_ = (undefined4 *******)0x0;
          local_bc = &local_40;
          local_cc._0_4_ = (undefined4 *******)local_68;
          if ((undefined4 ******)local_a8[0x11] != (undefined4 ******)0x0) {
            do {
              ppppppuVar31 = local_ac;
              local_68[0] = (undefined8 *)((uint)local_68[0] & 0xffffff00);
              local_b4._0_4_ = (undefined4 *******)local_f8[(int)(undefined4 *******)local_dc];
              if (((undefined4 *******)local_b4)[3] != (undefined4 ******)0x0 ||
                  ((undefined4 *******)local_b4)[4] != (undefined4 ******)0x0) {
                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[3];
                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9f;
                *(undefined4 ********)(puVar35 + -0x10) = (undefined4 *******)local_cc;
                *(undefined4 *)(puVar35 + -0x14) = 0x8b8bc;
                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));
              }
              ppppppuVar31 = local_ac;
              local_40 = (undefined4 ******)((uint)local_40 & 0xffffff00);
              if (((undefined4 *******)local_b4)[2] != (undefined4 ******)0x0) {
                *(undefined4 ******)(puVar35 + -8) = ((undefined4 *******)local_b4)[2][0x4f];
                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9b;
                *(undefined4 *******)(puVar35 + -0x10) = local_bc;
                *(undefined4 *)(puVar35 + -0x14) = 0x8b4a9;
                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));
              }
              ppppppuVar31 = local_ac;
              pppppppuVar10 = (undefined4 *******)local_110;
              pppppuVar26 = ((undefined4 *******)local_b4)[1];
              if (pppppuVar26 == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = ((undefined4 *******)local_b4)[5];
                *(int *)(puVar35 + -0xc) = (int)ppppppuVar31 + -0x11cf9e;
                *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;
                *(undefined4 *)(puVar35 + -0x14) = 0x8b955;
                sprintf(*(char **)(puVar35 + -0x10),*(char **)(puVar35 + -0xc));
                pppppppuVar16 = (undefined4 *******)local_bc;
              }
              else {
                pppppuVar14 = (undefined4 *****)local_a8[0xd][0x2d];
                if ((pppppuVar14 == (undefined4 *****)0x0) ||
                   (((undefined4 *****)local_a8[0xd][0x2c] != pppppuVar26 &&
                    (pppppuVar26 != pppppuVar14)))) {
                  pppppppuVar10 = (undefined4 *******)*pppppuVar26;
                  pppppppuVar16 = (undefined4 *******)local_bc;
                }
                else {
                  pppppppuVar10 = (undefined4 *******)*pppppuVar14;
                  pppppppuVar16 = (undefined4 *******)local_bc;
                }
              }
              do {
                pppppppuVar30 = pppppppuVar16;
                uVar20 = (uint)((int)*pppppppuVar30 + 0xfefefeffU) & ~(uint)*pppppppuVar30;
                uVar39 = uVar20 & 0x80808080;
                pppppppuVar16 = pppppppuVar30 + 1;
              } while (uVar39 == 0);
              bVar41 = (uVar20 & 0x8080) == 0;
              if (bVar41) {
                uVar39 = uVar39 >> 0x10;
              }
              if (bVar41) {
                pppppppuVar16 = (undefined4 *******)((int)pppppppuVar30 + 6);
              }
              iVar19 = -(int)local_bc;
              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;
              *(undefined4 *)(puVar35 + -0x14) = 0x8b53f;
              sVar15 = strlen(*(char **)(puVar35 + -0x10));
              ppppppuVar31 = local_ac;
              ppuVar25 = (undefined8 **)(undefined4 *******)local_cc;
              do {
                ppuVar24 = ppuVar25;
                uVar32 = (int)*ppuVar24 + 0xfefefeffU & ~(uint)*ppuVar24;
                uVar20 = uVar32 & 0x80808080;
                ppuVar25 = ppuVar24 + 1;
              } while (uVar20 == 0);
              bVar41 = (uVar32 & 0x8080) == 0;
              if (bVar41) {
                uVar20 = uVar20 >> 0x10;
              }
              if (bVar41) {
                ppuVar25 = (undefined8 **)((int)ppuVar24 + 6);
              }
              *(size_t *)(puVar35 + -0x10) =
                   (int)pppppppuVar16 +
                   (int)ppuVar25 +
                   sVar15 + (iVar19 - (uint)CARRY1((byte)uVar39,(byte)uVar39)) + 0xd +
                   (-(int)(undefined4 *******)local_cc - (uint)CARRY1((byte)uVar20,(byte)uVar20));
                    /* try { // try from 0008b592 to 0008b99c has its CatchHandler @ 0008c426 */
              *(undefined4 *)(puVar35 + -0x14) = 0x8b597;
              pppppppuVar16 = (undefined4 *******)FUN_002465f0();
              ppppppuVar11 = local_a8;
              local_e4 = pppppppuVar16;
              *(undefined4 ********)(puVar35 + -0xc) = (undefined4 *******)local_cc;
              *(undefined4 ********)(puVar35 + -0x10) = pppppppuVar10;
              *(undefined4 *******)(puVar35 + -0x14) = local_bc;
              *(undefined4 ******)(puVar35 + -0x18) = ppppppuVar11[0x24];
              *(int *)(puVar35 + -0x1c) = (int)ppppppuVar31 + -0x11cf97;
              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar16;
              *(undefined4 *)(puVar35 + -0x24) = 0x8b5c7;
              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));
              ppppppuVar31 = local_ac;
              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
                *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c109 to 0008c170 has its CatchHandler @ 0008c426 */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c10e;
                FUN_000da200();
              }
              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
              if (uVar39 < 0x20) {
                uVar39 = 0x20;
              }
              if (((uint)local_a8[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar35 + -0x14) = &UNK_0008b624;
                FUN_000da200();
              }
              ppppppuVar11 = (undefined4 ******)local_a8[1];
              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar11);
              local_ec = (undefined4 *****)((uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39);
              local_e8 = (uint)((int)local_a8[2] +
                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +
                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar11) + ((uVar39 != 0) - 1)) &
                         -(uint)(uVar39 != 0);
              pppppuVar26 = ((undefined4 *******)local_b4)[1];
              local_f4 = (undefined4 ******)
                         (((int)local_ec - (int)ppppppuVar11) +
                         (int)((undefined4 *******)local_b4)[6]);
              local_f0 = ((local_e8 - (int)local_a8[2]) - (uint)(local_ec < ppppppuVar11)) +
                         (uint)CARRY4((int)local_ec - (int)ppppppuVar11,
                                      (uint)((undefined4 *******)local_b4)[6]);
              ppppppuVar11 = (undefined4 ******)local_a8[0xd];
              if (pppppuVar26 == (undefined4 *****)0x0) {
                pppppuVar26 = ((undefined4 *******)local_b4)[2];
                pppppuVar14 = ((undefined4 *******)local_b4)[5];
                if ((undefined4 *****)
                    (((int)pppppuVar26[0x38] - (int)pppppuVar26[0x37] >> 2) * -0x33333333) <=
                    pppppuVar14) {
                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4773f;
                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;
                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x8c246;
                  FUN_000da200();
                }
                if ((*(byte *)((int)pppppuVar26[0x37] + (int)pppppuVar14 * 0x14 + 0xb) & 0x40) == 0)
                {
                  pppppuVar34 = ppppppuVar11[8];
                }
                else {
                  pppppuVar34 = ppppppuVar11[7];
                  if (pppppuVar34 == (undefined4 *****)0x0) {
                    *(int *)(puVar35 + -4) = (int)pppppuVar14 * 5;
                    *(undefined4 *******)(puVar35 + -8) = ppppppuVar31 + -0x477bb;
                    *(undefined4 *)(puVar35 + -0xc) = 0x372;
                    *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c3b6 to 0008c3ba has its CatchHandler @ 0008c426 */
                    *(undefined4 *)(puVar35 + -0x14) = 0x8c3bb;
                    FUN_000da200();
                  }
                }
                ppppuVar17 = *pppppuVar26;
                *(undefined4 ******)(puVar35 + -0xc) = pppppuVar14;
                *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;
                pppuVar6 = ppppuVar17[0x2a];
                *(undefined4 *)(puVar35 + -0x14) = 0x8b915;
                ppppuVar17 = (undefined4 ****)(*(code *)pppuVar6)();
              }
              else {
                if (((uint)pppppuVar26[10] & 0xf) == 10) {
                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) == 0) goto LAB_0008b9a0;
                  if ((*(byte *)((int)pppppuVar26 + 0x2a) & 7) != 4) {
                    while( true ) {
                      *(undefined4 ******)(puVar35 + -0x10) = pppppuVar26;
                      *(undefined4 *)(puVar35 + -0x14) = 0x8b982;
                      cVar7 = FUN_000a7920();
                      if (cVar7 != '\0') break;
                      pppppuVar34 = ppppppuVar11[7];
                      if (pppppuVar34 != (undefined4 *****)0x0) goto LAB_0008b6e1;
                      *(undefined4 *)(puVar35 + -4) = 0x8b99d;
                      FUN_00051cf0();
                      ppppppuVar11 = (undefined4 ******)0x0;
LAB_0008b9a0:
                      if ((((uint)pppppuVar26[2][0xb] & 1) != 0) ||
                         ((pppppuVar26[3] == (undefined4 ****)0x0 &&
                          ((*(byte *)((int)pppppuVar26 + 0x2b) & 0x20) != 0)))) break;
                    }
                  }
                }
                ppppppuVar31 = local_ac;
                pppppuVar34 = ppppppuVar11[6];
                if (pppppuVar34 == (undefined4 *****)0x0) {
                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477be;
                  *(undefined4 *)(puVar35 + -0xc) = 0x36a;
                  *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c2e4 to 0008c2e8 has its CatchHandler @ 0008c426 */
                  *(undefined4 *)(puVar35 + -0x14) = 0x8c2e9;
                  FUN_000da200();
                }
LAB_0008b6e1:
                ppppppuVar31 = local_ac;
                ppppuVar17 = pppppuVar26[6];
                if (ppppuVar17 == (undefined4 ****)0xffffffff) {
                  *(undefined4 *******)(puVar35 + -8) = local_ac + -0x477c1;
                  *(undefined4 *)(puVar35 + -0xc) = 0x1ce;
                  *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x8c12f;
                  FUN_000da200();
                }
              }
              ppppppuVar31 = local_ac;
              uVar39 = local_f0;
              if (((uint)pppppuVar34[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c150;
                FUN_000da200();
              }
              ppppppuVar11 = (undefined4 ******)local_a8[0xd];
              if (ppppppuVar11[5] == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x4780e;
                *(undefined4 *)(puVar35 + -0xc) = 0x3ae;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x4745f;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c171;
                FUN_000da200();
              }
              ppppuVar5 = ppppppuVar11[5][8];
              if (((uint)ppppuVar5[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c00d to 0008c011 has its CatchHandler @ 0008c426 */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c012;
                FUN_000da200();
              }
              iVar19 = -(int)ppppuVar5[1];
              pppppuVar26 = ppppppuVar11[0x2c];
              uVar20 = (uint)((int)pppppuVar34[1] + (int)ppppuVar17 + iVar19) >> 0x10;
              uVar32 = -(uint)(uVar20 == 0) & 0xfffffffc;
              iVar22 = uVar32 + 0x14;
              if ((ppppppuVar11[0x2d] != (undefined4 *****)0x0) &&
                 ((((undefined4 *******)local_b4)[1] == (undefined4 ******)pppppuVar26 ||
                  (((undefined4 *******)local_b4)[1] == (undefined4 ******)ppppppuVar11[0x2d])))) {
                iVar22 = uVar32 + 0x48;
              }
              pppppuVar14 = (undefined4 *****)(*local_c4)[2];
              local_b4._0_4_ = (undefined4 *******)pppppuVar26;
              if (((uint)ppppppuVar11[2] & 2) == 0) {
                if (pppppuVar14 == (undefined4 *****)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c220 to 0008c245 has its CatchHandler @ 0008c426 */
                  *(undefined4 *)(puVar35 + -4) = 0x8c225;
                  FUN_00052750();
                }
                iVar12 = (*(byte *)((int)pppppuVar14 + 0x2bdd) + 1 +
                         (uint)*(byte *)(ppppppuVar11 + 0x27) * 2) * 4;
                if (uVar20 != (int)pppppuVar34[1] +
                              (int)ppppuVar17 +
                              (uint)*(byte *)((int)pppppuVar14 + 0x2bdd) * 8 + iVar19 + 8 >> 0x10) {
                  iVar12 = iVar12 + 4;
                }
                iVar22 = iVar22 + iVar12;
              }
              else if (pppppuVar14 == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
                *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar35 + -0x14) = &UNK_0008b886;
                FUN_000da200();
              }
              if (*(char *)(pppppuVar14 + 0xac7) == '\0') {
                uVar20 = 0xffffffe0;
                iVar19 = 0x20;
              }
              else {
                iVar19 = 1 << ((byte)pppppuVar14[0xac8] & 0x1f);
                uVar20 = -iVar19;
              }
              *(undefined4 *)(puVar35 + -8) = 0;
              ppppppuVar31 = local_f4;
              *(uint *)(puVar35 + -0xc) = uVar39 >> 0x1f;
              *(undefined4 *)(puVar35 + -0x10) = 0;
              *(undefined4 *)(puVar35 + -0x14) = 2;
              *(undefined4 *)(puVar35 + -0x18) = 0;
              *(undefined4 *)(puVar35 + -0x1c) = 0;
              *(undefined4 *)(puVar35 + -0x20) = 0;
              *(uint *)(puVar35 + -0x24) = uVar20 & iVar22 + -1 + iVar19;
              *(uint *)(puVar35 + -0x28) = uVar39;
              ppppppuVar11 = local_a8;
              *(undefined4 *******)(puVar35 + -0x2c) = ppppppuVar31;
              *(undefined4 *******)(puVar35 + -0x30) = ppppppuVar11;
              *(undefined4 *)(puVar35 + -0x34) = 5;
              *(undefined4 *)(puVar35 + -0x38) = 0;
              *(undefined4 *******)(puVar35 + -0x3c) = local_e4;
              *(undefined4 *)(puVar35 + -0x40) = param_4;
              *(undefined4 *)(puVar35 + -0x44) = 0x8b81a;
              iVar19 = FUN_001e98f0();
              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;
              local_dc._0_4_ = (undefined4 *******)((int)(undefined4 *******)local_dc + 1);
            } while ((undefined4 *******)local_dc < ppppppuVar11[0x11]);
          }
          *(undefined4 *******)(puVar35 + -0x10) = local_f8;
          *(undefined4 *)(puVar35 + -0x14) = 0x8b84e;
          FUN_00248220();
          lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);
        }
        local_dc._4_4_ = (undefined4 ******)((ulonglong)lVar45 >> 0x20);
        local_b4._0_4_ = (undefined4 *******)local_a8[0x17];
        if ((undefined4 *******)local_b4 != (undefined4 *******)0x0) {
          local_dc._0_4_ = (undefined4 *******)((int)local_ac + -0x11cf82);
          do {
            ppppppuVar31 = (undefined4 *******)local_b4;
            if (*(char *)((undefined4 *******)local_b4 + 4) == '\0') {
              *(undefined4 *)(puVar35 + -0x10) = 0x26;
                    /* try { // try from 0008b005 to 0008b08f has its CatchHandler @ 0008c42d */
              *(undefined4 *)(puVar35 + -0x14) = 0x8b00a;
              pppppppuVar10 = (undefined4 *******)FUN_002465f0();
              *(undefined4 ******)(puVar35 + -0x10) = ppppppuVar31[2];
              *(undefined4 ******)(puVar35 + -0x14) = ppppppuVar31[1];
              local_bc = pppppppuVar10;
              *(undefined4 ******)(puVar35 + -0x18) = local_a8[0x24];
              *(undefined4 ********)(puVar35 + -0x1c) = (undefined4 *******)local_dc;
              *(undefined4 ********)(puVar35 + -0x20) = pppppppuVar10;
              *(undefined4 *)(puVar35 + -0x24) = 0x8b02f;
              sprintf(*(char **)(puVar35 + -0x20),*(char **)(puVar35 + -0x1c));
              ppppppuVar31 = local_ac;
              if ((undefined4 *****)(*local_c4)[2] == (undefined4 *****)0x0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47716;
                *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                *(int *)(puVar35 + -0x10) = (int)ppppppuVar31 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008c0eb to 0008c0ef has its CatchHandler @ 0008c42d */
                *(undefined4 *)(puVar35 + -0x14) = 0x8c0f0;
                FUN_000da200();
              }
              uVar39 = 1 << ((byte)(*local_c4)[2][0xac8] & 0x1f);
              if (uVar39 < 0x20) {
                uVar39 = 0x20;
              }
              if (((uint)local_a8[7] & 1) == 0) {
                *(undefined4 *******)(puVar35 + -8) = local_ac + -0x47743;
                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                *(undefined4 *******)(puVar35 + -0x10) = ppppppuVar31 + -0x47469;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar35 + -0x14) = 0x8b090;
                FUN_000da200();
              }
              ppppppuVar31 = (undefined4 ******)local_a8[1];
              puVar23 = (undefined *)((uVar39 - 1) + (int)ppppppuVar31);
              local_d4 = (uint)((int)local_a8[0x1c] + (int)puVar23) & -uVar39;
              pppppuVar26 = ((undefined4 *******)local_b4)[5];
              local_d0 = (uint)((int)local_a8[2] +
                               (uint)CARRY4((uint)local_a8[0x1c],(uint)puVar23) +
                               (uint)CARRY4(uVar39 - 1,(uint)ppppppuVar31) + ((uVar39 != 0) - 1)) &
                         -(uint)(uVar39 != 0);
              uVar39 = (int)local_a8[0x1d] - (int)ppppppuVar31;
              uVar20 = uVar39 + local_d4;
              iVar19 = uVar20 + (int)pppppuVar26;
              uVar32 = (-(uint)(local_a8[0x1d] < ppppppuVar31) - (int)local_a8[2]) + local_d0 +
                       (uint)CARRY4(uVar39,local_d4) + (uint)CARRY4(uVar20,(uint)pppppuVar26);
              uVar39 = 0x2000000 - (int)local_a8[0x1e];
              uVar20 = uVar39 - local_d4;
              pppppuVar14 = (undefined4 *****)(uVar20 + (int)((undefined4 *******)local_b4)[1]);
              iVar22 = (int)((undefined4 *******)local_b4)[2] +
                       (((uint)CARRY4(uVar20,(uint)((undefined4 *******)local_b4)[1]) +
                        ((-local_d0 - (uint)((undefined4 ******)0x2000000 < local_a8[0x1e])) -
                        (uint)(uVar39 < local_d4))) - (uint)(pppppuVar14 < pppppuVar26));
              uVar9 = 4;
              if (iVar22 != 0 ||
                  (uint)-iVar22 < (uint)(0x3ffffff < (uint)((int)pppppuVar14 - (int)pppppuVar26))) {
                uVar9 = 0x10;
              }
              local_cc._0_4_ = (undefined4 *******)iVar19;
              local_cc._4_4_ = (undefined4 *****)uVar32;
              *(undefined4 *)(puVar35 + -8) = 0;
              *(uint *)(puVar35 + -0xc) = uVar32 >> 0x1f;
              *(undefined4 *)(puVar35 + -0x10) = 0;
              *(undefined4 *)(puVar35 + -0x14) = 2;
              *(undefined4 *)(puVar35 + -0x18) = 0;
              *(undefined4 *)(puVar35 + -0x1c) = 0;
              *(undefined4 *)(puVar35 + -0x20) = 0;
              *(undefined4 *)(puVar35 + -0x24) = uVar9;
              *(uint *)(puVar35 + -0x28) = uVar32;
              *(int *)(puVar35 + -0x2c) = iVar19;
              *(undefined4 *******)(puVar35 + -0x30) = local_a8;
              *(undefined4 *)(puVar35 + -0x34) = 5;
              *(undefined4 *)(puVar35 + -0x38) = 0;
              *(undefined4 *******)(puVar35 + -0x3c) = local_bc;
              *(undefined4 *)(puVar35 + -0x40) = param_4;
              *(undefined4 *)(puVar35 + -0x44) = 0x8b31a;
              iVar19 = FUN_001e98f0();
              *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;
            }
            local_b4._0_4_ = (undefined4 *******)*(undefined4 *******)local_b4;
            lVar45 = CONCAT44(local_dc._4_4_,(undefined4 *******)local_dc);
          } while ((undefined4 *******)local_b4 != (undefined4 *******)0x0);
        }
        local_dc = lVar45;
        local_104 = local_104 + 1;
        lVar44 = local_b4;
      } while (*(undefined4 **)(param_1 + 0x50) != local_104);
    }
    iVar19 = *(int *)(param_1 + 0x28);
    if (iVar19 != 0) {
      uVar9 = 0x2c;
      if ((*(byte *)(*(int *)(iVar19 + 0x2c) + 8) & 2) != 0) {
        uVar9 = 0x38;
      }
      *(undefined4 *)(puVar35 + -8) = 0;
      *(undefined4 *)(puVar35 + -0xc) = 0;
      *(undefined4 *)(puVar35 + -0x10) = 0;
      *(undefined4 *)(puVar35 + -0x14) = 2;
      *(undefined4 *)(puVar35 + -0x18) = 0;
      *(undefined4 *)(puVar35 + -0x1c) = 0;
      *(undefined4 *)(puVar35 + -0x20) = 0;
      ppppppuVar31 = local_ac;
      *(undefined4 *)(puVar35 + -0x24) = uVar9;
      *(undefined4 *)(puVar35 + -0x28) = 0;
      *(undefined4 *)(puVar35 + -0x2c) = 8;
      *(int *)(puVar35 + -0x30) = iVar19;
      *(undefined4 *)(puVar35 + -0x34) = 5;
      *(undefined4 *)(puVar35 + -0x38) = 0;
      *(undefined4 *******)(puVar35 + -0x3c) = ppppppuVar31 + -0x473db;
      *(undefined4 *)(puVar35 + -0x40) = param_4;
      *(undefined4 *)(puVar35 + -0x44) = 0x8b3a7;
      iVar19 = FUN_001e98f0();
      *(undefined4 *)(iVar19 + 0x14) = 0xffffffff;
    }
  }
LAB_0008ad00:
  *(undefined4 *******)(puVar35 + -0x10) = local_10c;
  *(undefined4 *)(puVar35 + -0x14) = 0x8ad0e;
  FUN_000a91a0();
  return (uint)local_fc & 0xff;
}

